我有一个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/