Core Animation 提供了一套非常科学的动画类,我们能够在程序中使用。
- CAAnimation 是所以动画类的虚基类。它遵循CAMediaTiming 协议,CAMediaTiming 协议为动画提供了简单的持续时间(duration)、数度(speed)、重复次数(repeat count)。CAAnimation 还遵循了CAAction 协议,这个协议提供了标准化的定义在响应层(layer)触发动作时开启动画。
- CAAnimation 也定义了动画计时作为CAMediaTimingFunction的实例。这个计时方法描述了动画的每一步就像简单的贝塞尔曲线。一个线性时间函数指定了动画持续时间内的步速,然而一个 ease-in 时间函数会在动画接近结束是加速。
- CAPropertyAnimation 是CAAnimation的子类也是虚类,它为层(layer)上定义了键值路径的属性提供动画。
- CABaseicAnimation 是CAPropertyAnimation的子类,他为层(layer)属性提供简单的插值
- CAKeyframeAnimation(CAPropertyAnimation的子类)提供帧动画。你可以定义层属性的关键路径进行动画,指定一个数组包含动画各个阶段的值,还有包含关键帧的时间数组和时间函数。当动画执行的时候,集合中的值依次按照指定的插值进行设置。
- CATransition 提供过渡效果,会影响整个层上的内容。在动画过程中的逐渐消失(fade)、推进(push)、重新显示层内容。在 OS X上,你可以通过自定义Core Image filters 在扩展过渡效果。
- CAAnimationGroup 能够将一组动画组合在一起同时执行。
class="caption_number">Figure 1 Core Animation classes and protocol