我在处理Swift代码时遇到了一些问题,我正在尝试使UIImageView对象淡出并重新出现一次,但是遇到了只播放一次动画的问题。
@IBOutlet weak var ball: UIImageView!
@IBAction func onFadeClick(_ sender: Any) {
UIView.animate(withDuration: 1, delay: 0.0, options: [.repeat, .autoreverse], animations: {
self.ball.alpha = 0.0
}, completion: nil)
}
我尝试阅读了文档和以前的问题,但是它们都提到要使用setAnimationRepeatCount, 但是xcode报错说它在iOS13中已经被弃用(也不起作用)。是否有任何内置函数可以在播放一次后停止动画?我在某处看到过使用回调函数并重新初始化动画,但我不确定如何做。还是使用UIViewPropertyAnimator而不是UIView.animate更好?
我刚开始学习Swift,任何帮助或指导都将不胜感激!
2
秒。因此,相对持续时间是这段时间的一个分数。在这个例子中,0.5 将意味着 0.5 * 2s = 1s。相对起始时间也是一样。如果你将总体动画持续时间更改为 20 秒,则不必编辑每个子动画。 - CZ54