导航栏标题更新太晚(Swift)

卡尔

我有一个 tableViewController 在显示某些类别的 collectionViewController 的单元格被选中后显示(都在导航视图控制器中)。我希望导航栏显示所选类别的标题,但标题没有及时更新。

这意味着每当我返回并选择不同的类别时,它都会显示旧标题,即标题总是落后于视图?

这是我在 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
    }
}

知道如何解决这个问题吗?

我试图直接在准备函数中设置标题,结果相同,调用 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 } }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章