CAAimation介绍
CAAimation是Core Animation中用于动画的抽象基类。在Core Animation框架中,有多个具体的动画子类,每个子类都有特定的用途。
animation_0baa2d.png
-
CABasicAnimation:用于对图层的某个属性进行简单的起始点插值动画。它有三个关键属性:
-
fromValue
:动画的起始值。 -
toValue
:动画的结束值。 -
byValue
:动画的相对值。
它会在指定的时间内(由duration
决定)从起始值变化到结束值。
-
如实现一个音符动画
截屏2025-08-06 17.36.50.png
-
CAKeyframeAnimation:关键帧动画,允许我们指定多个关键帧(值)和对应的时间点,使得动画可以按照这些关键帧进行。它有两个重要属性:
-
values
:一个数组,包含关键帧的值。 -
keyTimes
:一个数组,包含每个关键帧的时间点(0到1之间)。
还可以通过path
属性(类型为CGPathRef)来定义动画路径,这常用于让图层沿着路径移动。
-
如实现一个色谱在流动的动画。
截屏2025-08-13 09.43.34.png
截屏2025-08-13 09.41.59.png
截屏2025-08-13 09.42.25.png
CASpringAnimation(iOS 9+):这是弹簧动画,是CABasicAnimation的子类。它模拟了弹簧的物理特性,可以创建有弹性的动画效果。主要属性包括:
-
mass
:质量(影响弹簧的惯性)。 -
stiffness
:刚度(弹簧的硬度)。 -
damping
:阻尼(阻止弹簧运动的力)。 -
initialVelocity
:初始速度。
CATransition(转场动画):
- type
:过度类型。fade: 淡入淡出 push: 推入 reveal: 揭开 moveIn: 覆盖
- subtype
:过度方向。fromLeft/Right/Top/Bottom
截屏2025-08-21 09.27.10.png