Ios UIView动画完成回调?

Ios UIView动画完成回调?,ios,objective-c,uiview,iphone-sdk-3.0,Ios,Objective C,Uiview,Iphone Sdk 3.0,我可以设置动画完成后调用的函数吗?我想淡入ui视图,然后将其从超级视图中删除 是的,很简单: 配置动画时 [UIView setAnimationDelegate:self]; [UIView setAnimationDidStopSelector:@selector(myAnimationStopped:finished:context:)]; 并定义您的方法,如: -(void)myAnimationStopped:(NSString *)animationID

我可以设置动画完成后调用的函数吗?我想淡入
ui视图
,然后将其从
超级视图
中删除

是的,很简单:

配置动画时

[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(myAnimationStopped:finished:context:)];
并定义您的方法,如:

-(void)myAnimationStopped:(NSString *)animationID 
                 finished:(NSNumber *)finished
                  context:(void *)context {
   // fancy code here
}

当然,不必是
self
,而且这种方法也是如此。

动画块是在iOS4中引入的。Apple建议您使用这些方法,而新方法主要要求使用完成块来代替回调。例如:

[UIView animateWithDuration:0.5f
                      delay:0.0f
                    options:UIViewAnimationCurveEaseInOut
                 animations:^{
                   [myView setAlpha:0.0f];
                 }
                 completion:^(BOOL finished) {
                   [myView removeFromSuperview];
                 }]; 

谢谢-我已经看过所有的方法了,真不敢相信我错过了那一个哈哈老派^^去寻找下一个答案这一个已经不用了