You start by creating a fake main view and set its background to black:
// Create the main view UIView *contentView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; contentView.backgroundColor = [UIColor blackColor]; self.view = contentView; [contentView release];
Then you create your front and back views and add them to your main view:
// create front and back views UIView *frontView = ... UIView *backView = ...
If you are using IB, skip the previous step and add your views directly
Now do the flip animation as usual.
EDIT: Maybe this won't work, because in the code you add a frontView under the toolbar. Add a backView first, then a frontView, and finally a toolbar using the addSubview: method. Then use the following code to animate the flip:
- (IBAction) flipView{ // Start Animation Block CGContextRef context = UIGraphicsGetCurrentContext(); [UIView beginAnimations:nil context:context]; [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES]; [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; [UIView setAnimationDuration:1.0]; // Animations [self.view exchangeSubviewAtIndex:0 withSubviewAtIndex:1]; // Commit Animation Block [UIView commitAnimations]; }
Since the code does [self.view exchangeSubviewAtIndex: 0 withSubviewAtIndex: 1]; the order in which you add subviews matters.
Massimo cafafo
source share