动画编程:从基础到高级技巧
在动画编程领域,有许多强大的工具和技术可以帮助我们实现各种令人惊叹的效果。本文将深入探讨一些关键的动画技术,包括自定义属性的隐式动画、非属性动作、发射器图层、Core Image过渡动画以及UIKit动力学等。
1. 自定义属性的隐式动画
我们可以通过实现特定的方法,让自定义图层的属性支持隐式动画。例如,要让 MyLayer 类的 thickness 属性可隐式动画,需要完成以下步骤:
- 实现 needsDisplay(forKey:) 方法,为 "thickness" 键返回 true ,并提供合适的 draw(in:) 实现。
- 在 action(forKey:) 方法中,为 "thickness" 键返回一个 CAAction 对象:
override func action(forKey key: String) -> CAAction? {
if key == #keyPath(thickness) {
let ba = CABasicAnimation(keyPath: key)
ba.fromValue = self.presentation()!.value(forKey:key)
return ba
}
ret
超级会员免费看
订阅专栏 解锁全文
1458

被折叠的 条评论
为什么被折叠?



