swift延迟后如何更新UI
Posted
技术标签:
【中文标题】swift延迟后如何更新UI【英文标题】:How to update UI after delay in swift 【发布时间】:2018-02-15 22:34:27 【问题描述】: DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.5) animations()
我对 UI 进行了更改(在主线程中),我需要将进一步的动画延迟一段时间,然后(同步)执行它们。上面的代码有效,但出现“在从主线程访问引擎后,此应用程序正在从后台线程修改自动布局引擎。这可能导致引擎损坏和奇怪的崩溃”错误。
感谢您的帮助!
【问题讨论】:
你在animations()
做什么?背景资料?
@fguchelaar 不,animations() 是一个 UI 更改块。
【参考方案1】:
你可以这样延迟
UIView.animate(withDuration: 0.8, delay: 0.5, options: [], animations:
/// animations here
, completion: nil)
【讨论】:
我尽量避免使用这个功能。有没有其他办法?以上是关于swift延迟后如何更新UI的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Xcode 在 Swift 中按 UI 元素类型进行应用范围/更快的更新......?