iOS 4.2: Flip image using block animations
I had this piece of code im my app:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:imgView cache:YES];
imgView.image = img2;
[UIView commitAnimatio开发者_开发百科ns];
But use of this method is discouraged in iOS 4.0 and later, and I should use transitionWithView:duration:options:animations:completion:
I cant get this to work properly. Can anyone help me? Thx!
[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;
}];
}
精彩评论