CAMediaTiming协议

CAMediaTiming协议协议定义了在一段动画内用来控制逝去时间的属性的集合,CALayer和CAAnimation都实现了这个协议。

重复和持续:
就是在协议中定义了多个属性如:duration、repeatCount这里设置动画持续的时间和重复的次数,同时repeatDuration定义了重复的时间,autoreverses在重复的时候会实现连续反向运动效果(很好用)

相对时间:
每次讨论到Core Animation,时间都是相对的,每个动画都有它自己描述的时间,可以独立地加速,延时或者偏移。

延时:
beginTime:设置了开始之前的延时时间
speed:设置了,运行过程中的加速度(间接的会改变时间,如果为2,时间会缩短为一半)
timeOffset:会将时间推移到指定的时间,然后再执行(虽然会移动到某一时间点,但是还是会执行完成整个动画,在执行到结尾的时候会从起始点开始执行)

关于动画停止问题:
fillMode回来设置动画的结束状态,有四种选择:
kCAFillModeForwards
kCAFillModeBackwards
kCAFillModeBoth
kCAFillModeRemoved
其中Removed是默认值,其余三种是可以选择的

注意:使用时必须将removeOnCompletion属性设置为NO;

你可能感兴趣的:(CAMediaTiming协议)