I had this piece of code im my app:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1];
[UIView setAnimationTransition:UIViewAnimatio
[UIView transitionWithView:imgView // use the forView: argument
duration:1 // use the setAnimationDuration: argument
options:UIViewAnimationOptionTransitionFlipFromLeft
// check UIViewAnimationOptions for what options you can use
animations:^{ // put the animation block here
imgView.image = img2;
}
completion:NULL]; // nothing to do after animation ends.
I made this function based on your code:
- (void)flipCurrentView:(UIView*)oldView withNewView:(UIView*)newView reverse:(BOOL)reverse
{
newView.alpha = 0;
[UIView transitionWithView:newView
duration:1
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^{
oldView.alpha = 0;
newView.alpha = 1;
}
completion:^(BOOL finished){
if(reverse){
[self flipCurrentView:newView withNewView:oldView reverse:NO];
}
finished = YES;
}];
}