延迟更改图像

时间:2018-03-14 18:04:06

标签: ios swift uiviewanimation

在过去的几个小时里,我试图延迟更改Xcode中的图像。我尝试使用以下代码实现此目的:

UIImageView.animate(withDuration: 1, delay: 2, options: [], animations: {
    self.TapTap_intro.image = UIImage(named: "Second TapTap")
}, completion: nil)}

使用此代码时的问题是它似乎不尊重延迟并立即更改图像。

有人可以解释一下我做错了什么,我怎么可能解决这个问题?

3 个答案:

答案 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")
}