动画的定义:视图+时间+空间+速度
视图信息的时空变换;
视图组的按时间逐帧展示;
Core Animation classes and protocol.png
各类常用属性
- CAMediaTiming:CALayer和Core Animation都实现了这个协议,它模拟了一个定时系统的层级,它的每个对象都描述了从父类对象到本地的时间值的映射。从父类时间线到本地转化的步骤见文档。
- 宗旨:Core Animation的时间都是相对的,每个动画都有它自己描述的时间,可以独立地加速,延时或者偏移。记住这点,可以方便理解属性的含义。
- duration:动画的持续时长,它可能和动画进行的真实duration不一样,这个依赖与superlayer的time space或者就是speed。默认值是0,但不真是0,只是一个默认值,动画真实duration是0.25s。
- beginTime:对象相对父类对象的开始时间,即动画的开始时间;
- speed:指定从父类时间空间到receiver的时间空间是怎样映射的。是一个时间的倍数,默认1.0,减少它会减慢图层/动画的时间,增加它会加快速度。如果2.0的速度,那么对于一个duration为1.0的动画,实际上在0.5秒的时候就已经完成了。
- timeOffset:相对时间,已经播放的时间
- ◦
`CATransition`。
* `type`:过渡动画的动画类型,系统提供了四种过渡动画:
- kCATransitionFade 渐变效果
- kCATransitionMoveIn 进入覆盖效果
- kCATransitionPush 推出效果
- kCATransitionReveal 揭露离开效果
* `subtype`:过渡动画的动画方向,系统提供四个方向:
- kCATransitionFromRight 从右侧进入
- kCATransitionFromLeft 从左侧进入
- kCATransitionFromTop 从顶部进入
- kCATransitionFromBottom 从底部进入
* `startProgress`:动画开始点,取值范围[0,1]
:动画结束点取值范围