为啥使用 UINavigationController 推送时标签栏项目标签会发生变化?

Posted

技术标签:

【中文标题】为啥使用 UINavigationController 推送时标签栏项目标签会发生变化?【英文标题】:Why does the tabbar items label change when Pushing using UINavigationController?为什么使用 UINavigationController 推送时标签栏项目标签会发生变化? 【发布时间】:2012-09-22 22:46:15 【问题描述】:

我创建了带有三个选项卡的 UITabController。一个 Tab 有 UINavigationController,它推动三个控制器 A、B 和 C。

当我将 segue 从 A 推到 B 或 B 推到 C 时,我会更改 A、B 和 C 上的标题。更改 A、B 或 C 上的标题也会更改我在主 tabController 中的第三个选项卡项的标题。如何使主控制器上的标签栏项目标签固定?

【问题讨论】:

【参考方案1】:

我遇到了同样的问题,这个帖子解决了我的问题:self.title sets navigationController and tabBarItem's title? Why?

您基本上需要在 UIViewController(由 UINavigationController 显示)中的 viewDidLoad 方法中设置标题,如下所示:

self.navigationItem.title = @"Your Title";

而不是这个

self.title = @"Your Title";

【讨论】:

以上是关于为啥使用 UINavigationController 推送时标签栏项目标签会发生变化?的主要内容,如果未能解决你的问题,请参考以下文章

从 SwiftUI 推送到 UIViewController

viewController 出现时出现黑色

UINavigationController & SplitViewController

UINavigationController

UINavigationController 风格

全屏显示 ViewController