在过去的几个小时里,我试图延迟更改Xcode中的图像。我尝试使用以下代码实现此目的:
UIImageView.animate(withDuration: 1, delay: 2, options: [], animations: {
self.TapTap_intro.image = UIImage(named: "Second TapTap")
}, completion: nil)}
使用此代码时的问题是它似乎不尊重延迟并立即更改图像。
有人可以解释一下我做错了什么,我怎么可能解决这个问题?
答案 0 :(得分:1)
要在没有动画的情况下进行更改,则无需使用UIView.animate
您可以在延迟一段时间后发送
DispatchQueue.main.asyncAfter(deadline: .now() + 2 ) {
self.TapTap_intro.image = UIImage(named: "Second TapTap")
}
答案 1 :(得分:1)
DispatchQueue.main.asyncAfter(deadline: .now() + delay) {
// Do your thing
}
答案 2 :(得分:0)
使用计时器而不是动画:
let timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(changeImage), userInfo: nil, repeats: false)
创建一个更改图像的功能:
func changeImage() {
self.TapTap_intro.image = UIImage(named: "Second TapTap")
}