我正在使用CATransaction
使用Core Animation。我正在使用setCompletionBlock
来捕获动画完成的时间,以便我可以在视图控制器中处理数据,但我希望动画可以中断。例如。当我打电话
[self.layer removeAllAnimations]
如果动画成功或失败,动画应该停止但是setCompletionBlock也应该知道。
使用UIView动画,这是可能的,因为在完成块中传递了finished
变量,并且使用CAAnimationGroup,也可以将finished
变量传递给委托。如何使用CATransaction
完成相同的操作?
答案 0 :(得分:2)
使用键值编码,您可以将您喜欢的任何变量传递到当前事务中,稍后可以通过完成块获取它。 CATransaction,CAAnimation,CALayer,它们都接受任意键值对,您可以根据自己的内容创建和使用它们。