Swift - 动画在切换 View 和返回时不起作用

标签 swift animation label

我注意到当我切换到另一个 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() 并将其放入 viewDidAppearviewWillAppear 中,如下所示:

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    tapToPlayLabel.startBlink()
}

关于Swift - 动画在切换 View 和返回时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45045966/

相关文章:

string - 遍历字符串字符以删除 block 引号

html - 如何从这个动画 SVG 中删除多余的空间(填充)?

javascript - D3 circle pack - 向节点添加标签

ios - 如何在容器 View 的标签中制作多行

ios - UIView没有成员animateWithDuration?

ios - UITableView Cell 内的多个 CollectionView(自动滚动)问题

ios - 如何在 Swift 中使用 UIDatePicker?

html - 一页分为 6x4 的高级幻灯片放映,按下以查看更多信息

python - 如何为 Python matplotlib.animation 添加随时间变化的标题?

JavaFX - 获取标签项的高度(以像素为单位)(或使用标签高度的中心垂直对齐标签)