使用春天动画动画绘制CALayer

时间:2014-07-28 20:12:25

标签: ios objective-c spring animation core-animation

我想为drawing an arc onscreen制作动画,但我希望它能够在iOS 7的UIView animate... usingSpringDamping: API中找到弹簧效果。我知道我可以通过创建CABasicAnimation来直接使用Core Animation但是我失去了很好的弹簧效果,并且内置的计时功能停在EaseOut,这不是我想要的。理想情况下,弧线将绘制到目标角度,超过它,然后来回反弹直到它落在目标上。

有没有办法在不编写自己的计时功能/子类CAAnimation的情况下执行此操作?

2 个答案:

答案 0 :(得分:3)

尝试使用CASpringAnimation,它与UIView Spring Animation具有相同的API。

答案 1 :(得分:-1)

这是一个在CALayer上执行弹簧动画的功能。如果你不介意使用Swift。

SpringAnimation.animate(myCALayer,
                        keypath: "transform.rotation.x",
                        duration: 2.0,
                        usingSpringWithDamping: 0.7,
                        initialSpringVelocity: 1.8,
                        fromValue: 0,
                        toValue: Double(M_PI),
                        onFinished: nil)

演示应用:https://github.com/evgenyneu/SpringAnimationCALayer