【问题标题】:How to stop an UIView animation in swift如何快速停止 UIView 动画
【发布时间】:2018-12-19 11:46:50
【问题描述】:

我正在使用 Swift 语言。我为一个持续 30 秒且已满的计时器编写了动画。现在我想停止这个动画,但我不知道怎么做!我希望能够从头开始。动画片。 谢谢,如果您有对我有帮助的解决方案或方法????

【问题讨论】:

标签: swift animation uiview


【解决方案1】:

你可以试试

self.myView.layer.removeAllAnimations()

【讨论】:

    【解决方案2】:

    两种可能的方式:

    • 某处存储总时间的变量。并在每个计时器重复增加这个值。当总时间达到 30 秒时,移除动画
    • 启动动画时,设置在特定时间后执行的动作

    第一种可能的方式:

    var time: Double = 0
    
    @objc func timerChangedValue() {
        time += 1
        if time == 30 {
            view.layer.removeAllAnimations()
            view.layoutIfNeeded()
        }
    }
    

    第二种可能的方式:

    DispatchQueue.main.asyncAfter(deadline: .now() + 30) {
        self.view.layer.removeAllAnimations()
        self.view.layoutIfNeeded()
    }
    

    【讨论】:

    • layoutIfNeeded 没用
    猜你喜欢
    • 2015-10-18
    • 1970-01-01
    • 1970-01-01
    • 2021-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2021-05-22
    相关资源
    最近更新 更多