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

时间:2010-05-23 18:19:40

标签: iphone core-animation

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

1 个答案:

答案 0 :(得分:6)

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

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

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