转到不同的视图控制器后动画停止

use*_*428 6 uiviewcontroller caanimation ios swift

我的应用程序中有一个动画,它基本上只是进行UIButton增长和收缩,以便用户可以明显地点击他们。

问题是,虽然它在视图第一次出现时工作正常,但如果我转到不同的视图控制器(带有 segue)然后返回(什么也没发生),它就不起作用。

这是我的代码:

override func viewWillAppear(animated: Bool) {
    expandAnimation()
}

func expandAnimation() {
    var animation = CABasicAnimation(keyPath: "transform.scale")
    animation.toValue = NSNumber(float: 0.9)
    animation.duration = 1
    animation.repeatCount = 100
    animation.autoreverses = true
    animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
    appDevButton.layer.addAnimation(animation, forKey: nil)
}
Run Code Online (Sandbox Code Playgroud)

我确定这是一个简单的修复,但我在网上找不到任何信息。

rde*_*mar 7

离开视图时从按钮中删除动画,

    override func viewDidDisappear(animated: Bool) {
        super.viewDidDisappear(animated)
        appDevButton.layer.removeAllAnimations()
    }
Run Code Online (Sandbox Code Playgroud)