gpt4 book ai didi

ios - 更改特定时间的颜色按钮,然后转到正常颜色 SWIFT

转载 作者:行者123 更新时间:2023-11-28 11:41:58 25 4
gpt4 key购买 nike

首先感谢您的帮助。

我想做的是 iPhone 的测验应用程序,我遇到的主要问题是当用户选择答案时我想添加 3 秒的延迟并更改显示答案的按钮的颜色是否正确(红色和绿色),延迟完成后返回下一个问题的原始颜色。我尝试使用 sleep() 但它没有改变颜色,只是卡住屏幕并转到另一个问题。

  func changeButtonColor() {       
if (questions[qCounter - 1].correct == 1) {

option1Button.backgroundColor = UIColor(named: "LightGreen")
option2Button.backgroundColor = UIColor(named: "LightRed")
option3Button.backgroundColor = UIColor(named: "LightRed")
}

if (questions[qCounter - 1].correct == 2) {

option1Button.backgroundColor = UIColor(named: "LightRed")
option2Button.backgroundColor = UIColor(named: "LightGreen")
option3Button.backgroundColor = UIColor(named: "LightRed")
}

if (questions[qCounter - 1].correct == 3) {

option1Button.backgroundColor = UIColor(named: "LightRed")
option2Button.backgroundColor = UIColor(named: "LightRed")
option3Button.backgroundColor = UIColor(named: "LightGreen")
}

addDelay()

}

func addDelay() {
sleep(3)
}

当下一个问题出现时,按钮会变为蓝色。

最佳答案

不要使用 sleep 函数,它会导致主线程卡住。

如果你像这样使用 DispatchQueue 会更好:

DispatchQueue.main.asyncAfter(deadline: .now() + 3.0, execute: {
// perform your task here...
})

此外,您还可以像下面这样使用Timer:

Timer.scheduledTimer(withTimeInterval: 3.0, repeats: false) { (timer) in
// perform your task here...
}

关于ios - 更改特定时间的颜色按钮,然后转到正常颜色 SWIFT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53458444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com