在玩了很多之后UIView
iOS 7 中引入了动态动画,最值得注意的是:
[UIView animateWithDuration: delay: usingSpringWithDamping: initialSpringVelocity: options: animations: completion:];
我想知道是否有一个相当于“SpringWithDamping/Velocity”的方法可以在创建时直接访问CALayer
动画片? IE。要么通过CATransaction
, CABasicAnimation
或以其他方式...
Thanks
in iOS9苹果终于做出了CASpringAnimation
类公开。
你可以这样使用它:
let spring = CASpringAnimation(keyPath: "position.x")
spring.damping = 5
spring.fromValue = myLayer.position.x
spring.toValue = myLayer.position.x + 100.0
spring.duration = spring.settlingDuration
myLayer.addAnimation(spring, forKey: nil)
请注意,您无法设置动画持续时间 - 您需要询问CASpringAnimation
类为settlingDuration
(例如“弹簧系统需要多长时间才能稳定下来”),然后将其设置为动画的持续时间。
检查头文件CASpringAnimation
- 它公开了许多您可以调整的弹簧系统变量 - 刚度、质量等。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)