iOS延迟更改背景颜色(快速)

标签 ios swift delay background-color

我想设置 View 的背景颜色并在一定延迟后将其更改为另一种颜色。这是我的尝试方式:

print("setting color 1")
self.view.backgroundColor = UIColor( rgb: 0xFF0000)
print("sleeping")
sleep(3)
self.view.backgroundColor = UIColor( rgb: 0xFFFF00)
print("setting color 2")

但是,我没有得到第一种颜色。该应用程序保持其初始颜色,等待 3 秒,然后更改为颜色 2。没有颜色 1 的迹象。如何解决这个问题?

sleep(3) 似乎阻止了 View 更新其颜色。但是,如果我调用 myButton.isEnabled = false 并在延迟后将其设置回 true,按钮将按预期运行并在延迟期间保持禁用状态。

最佳答案

你可以试试:

self.view.backgroundColor = UIColor( rgb: 0xFF0000)

DispatchQueue.main.asyncAfter(deadline: .now()+3.0 ) {

  self.view.backgroundColor = UIColor( rgb: 0xFFFF00)

}

关于iOS延迟更改背景颜色(快速),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50346569/

相关文章:

iOS 6 自动暂停不起作用

iphone - 你如何处理在 iOS 中获取数据的单独线程?

ios - UITableview reloadRows 在 Swift 3 中无法正常工作

arrays - swift 2 : cannot cast value of type NSArray toNSString Dictionary?

ios - 随机删除自定义 UIView Not Working swift 3

ios - UIPickerView 最佳实践?

javascript - .delay() 不能与 SlideUp() 一起使用

jquery - 在 for 循环中延迟更新值

ios - 如何启用远程调试 iOS webapp?

javascript - 我需要在 onclick 上运行两个函数。即使嵌套在一起,我也无法让它们一起工作