[英]UIView Animation Chaining Doesn't Work Properly
我正在尝试制作一个简单的“ 加载”标签文本的动画,以在其后显示3个点,每个点都有一秒钟的延迟。
这是我尝试过的:
func animateLoading() {
UIView.animate(withDuration: 1, animations: {self.yukleniyorLabel.text = "Yükleniyor."}, completion: { _ in
UIView.animate(withDuration: 1, animations: {self.yukleniyorLabel.text = "Yükleniyor.."}, completion: { _ in
UIView.animate(withDuration: 1, animations: {self.yukleniyorLabel.text = "Yükleniyor..."})
})
})
}
但是我得到的是所有3个点一起出现在1秒内。 顺序不对。 看到这里: https : //streamable.com/yiz6s
链接发生了什么问题? 提前致谢。
UIView animate
仅适用于可动画显示的视图属性,例如框架和背景色。 self.yukleniyorLabel.text
不是可设置动画的属性。 所以你没有动画。
只需使用计时器或延迟的性能即可按时间间隔更改文本。
您可以使用预定的计时器在带有动画的标签上显示带有三个点的文本:->
var i = 0
var timer : Timer?
loaderLabel.text = "Loading"
timer = Timer.scheduledTimer(timeInterval: 0.2, target: self, selector:#selector(ViewController.setText), userInfo: nil, repeats: true)
@objc func setText() {
loaderLabel.text = loaderLabel.text! + "."
i += 1
if i >= 3 {
timer?.invalidate()
}
}
动画输出:->正在加载...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.