Swift3.0 动画编程(2)
学习自老镇swift课堂: 舞动Swift-Swift动画编程指南
JNWSpring Animation
- JNWSpringAnimation 是 CAKeyframeAnimation 的子类,它支持创建阻尼动画效果。
- 尽管,JNWSpringAnimation 是 CAKeyframeAnimation 的子类,但是,你应该把他当做 CABasicAnimation 的子类来使用:)。
- 把4个源文件拷贝到你的工程当中。
- 你可以使用专用的初始化方法 +animationWithKeyPath:。当然,你也可以使用 +animation 方法,之后再来设置 keyPath 。目前所有兼容的属性动画都包含在头文件当中。
JNWSpringAnimation *animation = [JNWSpringAnimation animationWithKeyPath:@”position.x”]; - 下一步,fromeValue 与 toValue 属性需要插入正确的值。
animation.toValue = @(toX);animation.fromValue = @(currentX); - 最后,阻尼动画的一些参数也可以修改,目前包括 stiffness(生硬程度),damping(衰弱程度)以及 mass(质量)。
animation.mass = 30; // this will move extremely slowly// and so on - 这个动画本身可以被任何CAAnimation的子类接收,你可以将他添加到CALayer中。
CAKeyframeAnimation
- 关键帧动画
- 多个关键帧组成动画
- 可以设置时间间隔
- 设置位移,缩放等动画属性
JNW-缩放动画
|
|
JNW-旋转动画
|
|
JNW-位移动画
|
|
组合动画
把每个实例加起来就可以实现 JNW 的组合动画了,把之前注释掉的代码还原就能实现放大旋转位移动画了。