CATransaction完成阻止成功或失败

时间:2014-05-23 21:45:13

标签: ios objective-c uiview core-animation

我正在使用CATransaction使用Core Animation。我正在使用setCompletionBlock来捕获动画完成的时间,以便我可以在视图控制器中处理数据,但我希望动画可以中断。例如。当我打电话

  

[self.layer removeAllAnimations]

如果动画成功或失败,动画应该停止但是setCompletionBlock也应该知道

使用UIView动画,这是可能的,因为在完成块中传递了finished变量,并且使用CAAnimationGroup,也可以将finished变量传递给委托。如何使用CATransaction完成相同的操作?

1 个答案:

答案 0 :(得分:2)

使用键值编码,您可以将您喜欢的任何变量传递到当前事务中,稍后可以通过完成块获取它。 CATransaction,CAAnimation,CALayer,它们都接受任意键值对,您可以根据自己的内容创建和使用它们。

https://developer.apple.com/library/ios/documentation/graphicsimaging/Reference/CATransaction_class/Introduction/Introduction.html#//apple_ref/occ/clm/CATransaction/setValue:forKey: