继承结构
- 核心动画中所有类都遵守CAMediaTiming。
- CAAnaimation是个抽象类,不具备动画效果,必须用它的子类(CAAnimationGroup和CATransition)才有动画效果。
- CAAnimationGroup(动画组),可以同时进行缩放,旋转。
- CATransition(转场动画),界面之间跳转都可以用转场动画。
- CAPropertyAnimation也是个抽象类,本身不具备动画效果,只有子类(CABasicAnimation和* CAKeyframeAnimation)才有动画效果。
- CABasicAnimation(基础动画),做一些简单效果。
- CAKeyframeAnimation(帧动画),做一些连续的流畅的动画
常用属性
- duration:持续时间,默认值是0.25秒
- repeatCount:重复次数,无线循环可以设置HUGE_VALF或者CGFLOAT_MAX
- repeatDuration:重复时间
- removeOnCompletion: 默认为YES,代表动画执行完毕后就从图层上移除,图形会恢复到执行动画之前的状态。如果想要图层保持显示动画执行后的状态,那就设置为NO,同时设置fillMode为kCAFillModeForwards
- fillMode:决定当前对象在非active时间段的行为
- beginTime:可以用来设置动画延时执行,若想延迟2s,就设置为CACurrentMediaTIme() + 2
- CACurrentMediaTIme():图层的当前时间
- timingFunction:速度控制函数,控制动画运行节奏
- delegate:动画代理