UISpringTimingParameters可以具有反弹效应吗?

时间:2016-12-16 00:45:17

标签: ios swift swift3 uiviewanimation uiviewpropertyanimator

在尝试使用UIViewPropertyAnimator之后,我发现.isReversed只是像电影一样反向播放动画。是否可以应用"弹性"通过自定义Cubic Timing参数进行反向动画,该参数仅在动画被反转时才适用于动画?

1 个答案:

答案 0 :(得分:1)

当您想要反转动画并返回弹簧效果时,您只需使用以下代码段:

// prepare new timing parameters with the desired springiness
let newTimingParameters 
     = UISpringTimingParameters(dampingRatio: 0.5, initialVelocity: CGVector(dx: 2, dy: 0))

// pause the animator
propertyAnimator.pauseAnimation()

// reverse it
propertyAnimator.isReversed = true

// and restart it using new timing parameters with springiness
propertyAnimator.continueAnimation(withTimingParameters: newTimingParameters, durationFactor: propertyAnimator.fractionComplete)