我有多个CALayers。我希望能够使用CAAnimation(及其子类)动画为它们设置动画。我编写了准备动画并将其添加到图层的方法,每个方法一个动画。现在,我如何创建动画队列?无法使用CAAnimationGroup,因为动画应用于不同的CALayers。 NSOperationQueue不起作用,因为所有UI操作都应该在主线程上完成。我找到的唯一解决方案是创建NSInvocation对象的NSArray,但这个解决方案在iOS 5中似乎不起作用...
答案 0 :(得分:1)
由于动画已应用于不同的CALayer,因此无法使用CAAnimationGroup
实际上,那不是事实。单个CAAnimationGroup 可以为不同的CALayers设置动画。您可以将动画添加到超层,并使用关键路径符号"sublayers.[layername].[property]"
引用不同层的属性。
答案 1 :(得分:0)
为所有动画使用通用代理。当每个动画结束时,它将通知其代理人(-animationDidStop:finished:
),然后可以启动下一个动画。