我的动画完成后可以设置要调用的函数吗?我想淡化UIView
,然后将其从superView
中移除。
答案 0 :(得分:37)
动画块在iOS4中引入。 Apple建议您使用这些,并且新方法主要要求替换回调的完成块。例如:
[UIView animateWithDuration:0.5f
delay:0.0f
options:UIViewAnimationCurveEaseInOut
animations:^{
[myView setAlpha:0.0f];
}
completion:^(BOOL finished) {
[myView removeFromSuperview];
}];
答案 1 :(得分:25)
是的,这很简单:
配置动画时
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(myAnimationStopped:finished:context:)];
并定义您的方法,如:
-(void)myAnimationStopped:(NSString *)animationID
finished:(NSNumber *)finished
context:(void *)context {
// fancy code here
}
当然不一定是self
和那种方法。