我的应用中有一个动画,基本上只是让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)
}
我确定这是一个简单的修复,但我在网上找不到任何信息。
答案 0 :(得分:4)
离开视图时从按钮中删除动画
override func viewDidDisappear(animated: Bool) {
super.viewDidDisappear(animated)
appDevButton.layer.removeAllAnimations()
}
答案 1 :(得分:1)
尝试解决方案:
// Allows the animation to appear on View Controller
override func viewWillAppear(_ animated: Bool) {
super.viewDidAppear(true)
// Function call
expandAnimation()
}
// Allows the animation to disappear from View Controller
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(true)
// Function call
expandAnimation()
}