0

我在我的应用程序中使用Spring 库来制作动画效果。

就我而言,我必须为动作按钮设置动画,所以我添加了以下代码块。

override func viewDidLoad() {
    super.viewDidLoad()
    setOptions()
}
func setOptions() {
    testButton.animation = Spring.AnimationPreset.Shake.rawValue
    testButton.curve = Spring.AnimationCurve.EaseIn.rawValue
}
@IBAction func testButtonPressed(_ sender: Any) {
    animateView()
}

在上面的代码流中,动画动作只发生一次。

但是,如果我按如下方式更新“testButtonPressed”方法,

@IBAction func testButtonPressed(_ sender: Any) {
    setOptions()
    animateView()
}

每次按下 testButton 时都会出现动画。

为什么我每次都必须更新动画属性?只更新一次属性还不够吗?

4

1 回答 1

0

在库中,resetAll 似乎删除了动画类型和动画执行后的所有属性。该方法在 Spring 文件中的动画块完成时调用。

这是相关Spring文件的链接以及删除动画的函数的副本。

func resetAll() {
    x = 0
    y = 0
    animation = ""
    opacity = 1
    scaleX = 1
    scaleY = 1
    rotate = 0
    damping = 0.7
    velocity = 0.7
    repeatCount = 1
    delay = 0
    duration = 0.7
}

希望这可以帮助您了解为什么在您重置动画类型之前删除动画。

于 2017-07-14T02:25:12.210 回答