我有一个CALayer,仅在 Controller 的initWithNibName中创建并添加到 View Controller 主 View 的 subview 中:
然后,我执行以下动画:

  [CATransaction begin];
  [CATransaction setAnimationDuration:2];
  [logoLayer setOpacity:0];
  [CATransaction commit];

我怎么知道这个动画什么时候完成的? performSelector:延迟2秒。方法似乎并不是“正确的方法”。

最佳答案

根据doc[CATransaction setCompletionBlock:]可以用于您想要的内容。

它说



begin动画事务之前,请尝试添加类似的内容。

[CATransaction setCompletionBlock:^{
    // Action after the animation completion
}];

关于ios - 如何检测由CATransaction触发的动画的完成,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9049410/

10-12 01:36