Core Animation - 图层时间

简介: Core Animation - 图层时间

在前面的CAAnimation中,用到了多种种图层动画,既然是动画,所以他们都是动态的,每个动画都有自己的发生时间,接下来看看Core Animation是如何来跟踪时间的:


1.CAMediaTiming协议


CAMediaTiming定义了一段动画内用来控制逝去时间的属性集合,CALayer和CAAnimation都实现了这一协议,所以时间才能被任意一个图层或者动画控制。


时间的控制涉及到duration和repeatCount两个属性,它们默认都为0,但只是相对的,实际为0.25和1。一组动画总时长是由duration和repeatCount共同控制的:

duration是完成一次完整的动画所需要的时间
repeatCount是动画重复的次数
T=duration * repeatCount

2.相对时间


时间是相对的,每个动画都有自己的描述时间,可以独立的加速,延时,漂移。

beginTime指定动画开始的延时时间;

timeOffset指定动画开始的时间点(加入一个动画duration为2s,timeOffset为1,那么动画是从1这个时间点开始的,相当于起点变为1s时的动画位置)

speed是动画速度,默认为1,与duration成反比,若duration为1,速度在原来基础上变为两倍,那么,duration本来为1s的动画就会变为0.5s,就像车行驶一段固定路程,速度变大,相应的时间就变短了;

removeOnCompletion设置为NO,表示动画运行结束后保持之前状态,否则会回到原点,fillMode有四个值:

当 removedOnCompletion = NO;
 kCAFillModeForwards  //动画结束后保持当前状态
 kCAFillModeBackwards  //在动画开始执行结束后回到起点状态
 kCAFillModeBoth  //动画结束后保持当前状态,再次开始的时候回到第一次运行的起点
 kCAFillModeRemoved  //动画结束后回到起点状态


目录
相关文章
|
iOS开发
Core Animation - 图层几何学<一>
Core Animation - 图层几何学<一>
79 0
Core Animation - 图层几何学<一>
Core Animation - 图层行为
Core Animation - 图层行为
64 0
Core Animation - 图层行为
Core Animation - 摇动+循环动态画圆
Core Animation - 摇动+循环动态画圆
59 0
Core Animation - 摇动+循环动态画圆
Core Animation - 变换<三>
Core Animation - 变换<三>
32 0
Core Animation - 变换<三>
Core Animation - 变换<一>
Core Animation - 变换<一>
70 0
Core Animation - 变换<一>
|
iOS开发 MacOS
Core Animation - 图层几何学<二>
Core Animation - 图层几何学<二>
70 0
|
iOS开发
Core Animation - 第一次使用图层来创建一个简单的项目
Core Animation - 第一次使用图层来创建一个简单的项目
64 0
Core Animation -图层与视图
Core Animation -图层与视图
37 0
|
算法 iOS开发
Core Animation - 视觉效果<三>
Core Animation - 视觉效果<三>
52 0
|
iOS开发
Core Animation - 视觉效果<一>
Core Animation - 视觉效果<一>
80 0