【问题标题】:How to know when a Core Animation has finished?如何知道核心动画何时完成?
【发布时间】:2010-02-18 01:26:51
【问题描述】:

说我有...

[UIView beginAnimations:nil context:NULL];  
[UIView setAnimationDuration:0.5];

CGPoint position = myObject.center;
position.x = position.x - 10;

myObject.center = position;

[UIView commitAnimations];

核心动画发生在单独的线程上是否有办法知道何时 动画完成了吗?即,也许我可以通过某种方式连接 函数调用知道它什么时候完成...?

(p.s 我知道我可以使用一个计时器,它会在 0.5 秒后触发一个方法 上面的例子,但这看起来很俗气)

非常感谢任何帮助!

【问题讨论】:

    标签: iphone objective-c core-animation


    【解决方案1】:

    你可以设置setAnimationDidStopSelector:

    http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIView_Class/UIView/UIView.html#//apple_ref/occ/clm/UIView/setAnimationDidStopSelector:

    • (void)setAnimationDidStopSelector:(SEL)选择器

    然后为那个选择器实现一个方法

    [UIView setAnimationDidStopSelector:@selector(finishedAnimation:finished:context:)];
    
    
    - (void) finishedAnimation:(NSString *)id finished:(BOOL) finished context:(void *) context {
         ......
    }
    

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多