Core Animation 动画使用全解析
1. CABasicAnimation 的使用
1.1 基本概念与添加方式
构建并配置好 CABasicAnimation
后,要让它执行,需将其添加到图层中,可使用 CALayer
的实例方法 add(_:forKey:)
。这里 forKey:
参数的用途后续再讨论,在示例中可先忽略,使用 nil
即可。
不过,有个小细节需注意。 CAAnimation
仅仅是一个动画描述,它只说明了呈现层要经历的变化,即所谓的“动画影片”,但它本身不会对图层产生任何影响。若简单地创建一个 CABasicAnimation
并使用 add(_:forKey:)
添加到图层,动画结束后,“动画影片”会消失,图层会恢复到动画前的状态。因此,需要手动更改图层,使其与动画最终呈现的状态一致。当然,如果动画不会改变图层的最终状态,就无需更改图层。
1.2 使用步骤
为确保效果良好,可按如下公式化步骤使用 CABasicAnimation
:
1. 捕获要更改的图层属性的起始值和结束值,后续可能会用到这些值。
2. 将图层属性更改为结束值,若有必要,可先调用 setDisableActions(true)
以防止隐式动画。
3. 使用之前捕获的起始值和结束值构建显式动画,并将其