动画类型和动画时间简介
一:动画类的继承树
core animation 一下一些,可以用在你的app的animation class
(1) CAAnimation 是一个抽象类,并且是所有动画类的基类。CAAnimation 实现了CAMediaTiming 协议,CAMediaTiming 提供一些关于动画设置的简单属性 duration、speed、 repeatCount、等等。CAAnimation 也实现了CAAction 协议, This protocol provides a standardized means for starting an animation in response to an action triggered by a layer ( CAAction协议定义了层上启动一个动画的标准流程)
CAAnimation 用一个 CAMediaTimingFunction 实例定义动画的持续时间。 CAMediaTimingFunction 描述了动画过程作为一个简单的 Bezier curve。一个线性的
时间函数指定了动画在执行时间内是没有一个跨度的(即时间是平均分配的)。 ease-in timing function 让动画的执行速度越来越快。
(2) CAPropertyAnimation 是 CAAnimation的一个抽象子类。 CAPropertyAnimation提供了动画对 key path 的支持。
(3) CABasicAnimation 是 CAPropertyAnimation的子类, CABasicAnimation 对动画层的属性变化,提供了简单的动画插值。
(4) CAKeyframeAnimation是 CAPropertyAnimation的子类,提供关键帧动画的支持。你可以为层的一个动画属性 指定一个 keypath,一组value(在动画的每个阶段呈现),关键帧时间值和时间函数。当动画运行的时候这些值在指定的阶段显示。
(5) CATransition 为layer的内容变化提供转换效果。 fades, pushes, or reveals layer content 。在osx系统,这些过渡效果可以根据你提供的自定义的core image filter得到扩展。
(6) CAAnimationGroup 运行一组动画在同一时间运行。