@property CFTimeInterval beginTime;
/* 基本动画的持续时间 */
@property CFTimeInterval duration;
/* 基本动画渲染一次的速度,用于衡量parent time 跟 local time */
@property float speed;
/* 时间偏移量 */ //基本上不怎么用到
@property CFTimeInterval timeOffset;
/* 动画在规定时间内的渲染次数 */
@property float repeatCount;
/* 动画重复渲染的时间 */
@property CFTimeInterval repeatDuration;
/*当你设定这个属性为 YES 时,在它到达目的地之后,动画的返回到开始的值,代替了直接跳转到 开始的值*/
@property BOOL autoreverses;
/*fillMode的作用就是决定当前对象过了非active时间段的行为. 比如动画开始之前,动画结束之后。如果是一个动画CAAnimation,则需要将其removedOnCompletion设置为NO,要不然fillMode不起作用.
下面来讲各个fillMode的意义
kCAFillModeRemoved 这个是默认值,也就是说当动画开始前和动画结束后,动画对layer都没有影响,动画结束后,layer会恢复到之前的状态
kCAFillModeForwards 当动画结束后,layer会一直保持着动画最后的状态
kCAFillModeBackwards 这个和kCAFillModeForwards是相对的,就是在动画开始前,你只要将动画加入了一个layer,layer便立即进入动画的初始状态并等待动画开始.你可以这样设定测试代码,将一个动画加入一个layer的时候延迟5秒执行.然后就会发现在动画没有开始的时候,只要动画被加入了layer,layer便处于动画初始状态
kCAFillModeBoth 理解了上面两个,这个就很好理解了,这个其实就是上面两个的合成.动画加入后开始之前,layer便处于动画初始状态,动画结束后layer保持动画最后的状态*/
@property(copy) NSString *fillMode;
iOS动画笔记之----CAMediaTiming
最新推荐文章于 2024-07-17 08:15:00 发布