我注意到当我切换到另一个 View 然后返回主视图时,我的闪烁动画停止工作。点击将它带到另一个 View ,然后一个按钮将它带回主视图。这是我的代码:
对于闪烁动画:
import Foundation
导入 UIKit
扩展 UILabel {
func startBlink() {
UIView.animate(withDuration: 0.8,
delay:0.0,
options:[.autoreverse, .repeat],
animations: {
self.alpha = 0
}, completion: nil)
}
func stopBlink() {
alpha = 1
layer.removeAllAnimations()
}
将其带回主屏幕的按钮操作:
@IBAction func mainMenuTapped(_ sender: Any) {
performSegue(withIdentifier: "EndToMain", sender: self)
}
启动闪烁动画的主视图代码:
@IBOutlet weak var tapToPlayLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
tapToPlayLabel.startBlink()
}
感谢大家的帮助!
最佳答案
查看 iOS UIView
生命周期以了解何时调用哪些方法。
从 viewDidLoad 中取出 tapToPlayLabel.startBlink()
并将其放入 viewDidAppear
或 viewWillAppear
中,如下所示:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
tapToPlayLabel.startBlink()
}
关于Swift - 动画在切换 View 和返回时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45045966/