iOS-核心动画
2016-04-11 本文已影响232人
七月上
CAAnimation:核心动画 是所有动画的父类
1>.CAMediaTiming媒体时间类协议
CAMediaTiming中的协议内容
1.beginTime 动画开始的时间 默认为0
2.duration 动画的持续时间 默认为0 持续时间 受速度的影响 实际动画完成时间 = 持续时间/速度
3.speed 动画的播放速度 默认为1 速度设置为0 可以暂停动画
如果speed 2秒 duration 60秒 那么动画真正播放完成的时间 30秒
4.timeOffset 动画播放时间的偏移量
5.repeatCount 动画的循环次数 默认是0 只播放一次
6.repeatDuration 动画循环的持续时间
repeatCount/repeatDuration 只能设置其中的一个属性
7.autoreverses 是否以动画的形式返回 返回到播放之前的状态
8.fillMode 设置当前对象在非活动时间段的状态
要想fillMode有效 需设置removedOnCompletion = NO
kCAFillModeForwards 当动画结束后,layer会一直保持着动画最后的状态
kCAFillModeBackwards 立即进入动画的初始状态并等待动画开始
kCAFillModeBoth 动画加入后开始之前 layer处于动画初始状态 动画结束后layer保持动画最后的状态
kCAFillModeRemoved 默认值 动画结束后 layer会恢复到之前的状态
2>.CAAnimation动画属性方法介绍
1.初始化的方法 animation
2.timingFunction 速度控制类 控制动画运行的节奏
初始化:functionWithName:
kCAMediaTimingFunctionLinear 匀速
kCAMediaTimingFunctionEaseIn 慢进快出
kCAMediaTimingFunctionEaseOut 快进慢出
kCAMediaTimingFunctionEaseInEaseOut 慢进慢出 中间加速
kCAMediaTimingFunctionDefault 默认
3.delegate 代理
4.removedOnCompletion 完成动画的时候 是否移除动画效果
5.代理方法
- (void)animationDidStart:(CAAnimation *)anim
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag