动画结束后,我想做一些动作。
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.80f];
self.view.transform =
CGAffineTransformMakeTranslation(
self.view.frame.origin.x,
480.0f + (self.view.frame.size.height/2) // move the whole view offscreen
);
[self.view setAlpha:0];
[UIView commitAnimations];
我做过上面的动画,如何找到动画结束,以便我可以在那之后做我的动作。
答案 0 :(得分:7)
使用此:
[UIView animateWithDuration:0.80f animations:^{
self.view.transform =
CGAffineTransformMakeTranslation(
self.view.frame.origin.x,
480.0f + (self.view.frame.size.height/2) // move the whole view offscreen
);
[self.view setAlpha:0];
}
completion:^(BOOL finished){
// your code
}];
答案 1 :(得分:7)
将此添加到动画中:
[UIView setAnimationDidStopSelector:@selector(myAnimationEnded)];
[UIView setAnimationDelegate:self];
并且此方法会告诉您何时停止;
- (void)myAnimationEnded{
NSLog(@"animation ended");
}
答案 2 :(得分:4)
使用UIView
的{{1}}类方法。
-animateWithDuration:animations:completion:
答案 3 :(得分:0)
在[UIView commitAnimations];
之后编写代码。动画保持在beginAnimations
和commitAnimations
之间。
答案 4 :(得分:0)
不是setAnimationDelegate
在iOS 4.0及更高版本中不鼓励使用此方法。如果您使用基于块的动画方法,则可以直接在块中包含代理的开始和结束代码。