【问题标题】:UIView animation completion callback?UIView 动画完成回调?
【发布时间】:2011-03-11 03:10:53
【问题描述】:

我可以设置一个在动画完成后调用的函数吗?我想淡化UIView,然后将其从superView 中删除。

【问题讨论】:

    标签: ios objective-c uiview iphone-sdk-3.0


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      是的,这很简单:

      当你配置你的动画时

      [UIView setAnimationDelegate:self];
      [UIView setAnimationDidStopSelector:@selector(myAnimationStopped:finished:context:)];
      

      并定义您的方法,例如:

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

      当然不必是self 和那个方法。

      【讨论】:

      • 谢谢 - 我正在查看所有方法,不敢相信我错过了那个
      • 哈哈老派 ^^ 去下一个答案这个不再使用了
      猜你喜欢
      • 1970-01-01
      • 2014-09-16
      • 2018-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多