在选择显示某些类别的 collectionViewController 的单元格后,我有一个 tableViewController 显示(都在 navigationViewController 内)。我想让导航栏显示所选类别的标题,但标题没有及时更新。
这意味着每当我返回并选择不同的类别时,它都会显示旧标题,即标题总是滞后于 View 之后?
这是我在 collectionViewController 中的代码:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if (segue.identifier == "CategorySelected") {
let vc = segue.destination as! SearchOrgTableViewController
vc.category = selectedCategory
}
}
在 TableViewController 中:
var category: CategoryModel?{
didSet{
guard let name = category?.name else{
return
}
self.navigationItem.title = name
}
}
知道如何解决这个问题吗?
我尝试直接在prepare函数中设置标题,结果相同,调用reloadInputViews()也没有成功。
最佳答案
试试这段代码:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if (segue.identifier == "CategorySelected") {
DispatchQueue.main.async {
let vc = segue.destination as! SearchOrgTableViewController
vc.category = selectedCategory
vc.title = category.name } }
}
关于ios - 导航栏标题更新太晚(Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51875691/