单击后退按钮时,导航堆栈中 VC 的 UINavigationBar 标题颜色不会改变

Posted

技术标签:

【中文标题】单击后退按钮时,导航堆栈中 VC 的 UINavigationBar 标题颜色不会改变【英文标题】:UINavigationBar title colour for VCs in a navigation stack doesn't change when back button is clicked 【发布时间】:2018-10-05 11:24:19 【问题描述】:

我有一个导航控制器,里面有 3 个 VC。 导航控制器 -> VC1 -> VC2 -> VC3 VC1的标题是白色的 VC2的标题颜色为蓝色 VC3的标题颜色为红色

当我通过单击 VC3 的后退按钮从 VC3 回到 VC2 时,VC2 的标题颜色不会变为蓝色,但仍为红色。

我在某处读到我们不能在同一个导航控制器堆栈中使用不同的标题颜色。是真的吗?

如果不是,那么在这种情况下如何设置标题的颜色?

我按照其他地方的建议在 viewDidAppear 中设置标题颜色,但它在我的项目中对我不起作用。我创建了一个新项目并设置了虚拟视图来测试它在哪里工作,但不是在我的实际项目中。我不确定缺少什么或我做错了什么。去哪里找呢?

我添加了打印,它确实设置了正确的标题颜色,但实际上并没有设置它。

【问题讨论】:

【参考方案1】:

您需要在 viewwillappear() 中更改每个导航标题的颜色

【讨论】:

以上是关于单击后退按钮时,导航堆栈中 VC 的 UINavigationBar 标题颜色不会改变的主要内容,如果未能解决你的问题,请参考以下文章

在执行功能时单击导航控制器上的后退按钮时应用程序崩溃

我在从导航堆栈中删除 ViewController 时遇到问题?

iOS >> 导航项后退按钮标题不变

在导航栏中按下后退按钮时刷新 RootViewController 的内容

如何在反应导航中更改后退按钮路线

导航视图控制器不显示后退按钮