使用 swift 更改 UINavigationController 标题时延迟
Posted
技术标签:
【中文标题】使用 swift 更改 UINavigationController 标题时延迟【英文标题】:Delay when changing UINavigationController title with swift 【发布时间】:2015-06-29 02:14:51 【问题描述】:好的,我尝试了不同的方法来更新 UINavigationBar 中的标题,但总是有延迟。
我有一个导航控制器,它是表视图的根视图控制器。我尝试了不同的方法来更改标题并尝试让 UINavigationBar 重绘,但有大约 10 秒的延迟。
//I have tried different ways to change the title:
self.title = str
//and
@IBOutlet var tableTitle: UINavigationItem!
self.tableTitle.title = str
//as well as different ways to convince it to redraw
self.view.window?.rootViewController?.setNeedsStatusBarAppearanceUpdate()
//and
self.tableTitle.awakeFromNib()
我忘记了这是从 dataTaskWithURL 完成的,所以需要从主线程调用它。
【问题讨论】:
【参考方案1】:尝试使用dispatch_async
,该函数在调度队列上提交一个异步执行块并立即返回,看看下面的代码:
dispatch_async(dispatch_get_main_queue(),
// Change your title here
)
希望对你有所帮助。
【讨论】:
以上是关于使用 swift 更改 UINavigationController 标题时延迟的主要内容,如果未能解决你的问题,请参考以下文章