如何组合两个CABasicAnimation动画并​​在同一时间启动它们?

don*_*ile 4 iphone core-animation

我知道核心动画中有某种动画分组机制.那么就说我有两个CABasicAnimation firstAnimationsecondAnimation.我将如何对这些进行分组以及如何启动该组以开始制作动画?

End*_*mic 6

您将要使用CAAnimationGroup类.创建一个包含所需动画的数组,并将AnimationGroup的animations属性设置为该数组.CAAnimationGroup是CAAnimation的子类,因此您可以[layer addAnimation:forKey:]像使用常规动画一样将其添加到图层.添加到图层后,组中的所有动画将同时执行.

我建议先阅读CAAnimationGroup Reference.在使用之前,有许多实现细节值得了解.例如:

  1. delegate单个动画的属性将被忽略.
  2. removeOnCompletion单个动画的属性将被忽略.
  3. 该AnimationGroup有自己delegateremoveOnCompletion性能.
  4. 动画不会按时间缩放到组中,因此如果单个动画的持续时间长于组对象的持续时间,则会在组持续时间结束时中断动画.
  5. animations复制CAAnimationGroup 的属性,而不是保留.