【问题标题】: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()
}