iOS核心动画队列

时间:2011-11-05 06:39:41

标签: ios animation core-animation queue

我有多个CALayers。我希望能够使用CAAnimation(及其子类)动画为它们设置动画。我编写了准备动画并将其添加到图层的方法,每个方法一个动画。现在,我如何创建动画队列?无法使用CAAnimationGroup,因为动画应用于不同的CALayers。 NSOperationQueue不起作用,因为所有UI操作都应该在主线程上完成。我找到的唯一解决方案是创建NSInvocation对象的NSArray,但这个解决方案在iOS 5中似乎不起作用...

2 个答案:

答案 0 :(得分:1)

由于动画已应用于不同的CALayer,因此无法使用CAAnimationGroup

实际上,那不是事实。单个CAAnimationGroup 可以为不同的CALayers设置动画。您可以将动画添加到超层,并使用关键路径符号"sublayers.[layername].[property]"引用不同层的属性。

答案 1 :(得分:0)

为所有动画使用通用代理。当每个动画结束时,它将通知其代理人(-animationDidStop:finished:),然后可以启动下一个动画。