NavigationBar 覆盖 tabBarController 中的其他视图控制器

NavigationBar overrides other view controllers in tabBarController

我有一个带有 4 个视图控制器的 swift 标签栏控制器。我正在使用 self.tabBarController?.navigationItem.title = "title" 设置导航栏标题 在 4 个视图控制器中的每一个上。当我 运行 应用程序时,当我按顺序单击 4 个选项卡中的每一个时,会出现正确的标题:"A," "B," "C," "D," 但是当我去单击选项卡 D 后单击其他选项卡,标题仅出现在 "D." 我觉得选项卡 D 的标题出于某种原因覆盖了其他标题。

我尝试过以不同的方式设置标题,但仍然遇到同样的问题。

你有一个 UINavigationController,你的 UIViewControllers(嵌入在 UITabBarControllerviewDidLoad() 在您单击控制器对应的选项卡后被调用一次。您可以将每个 UIViewController 嵌入其自己的导航控制器中,并在 viewDidLoad()[=25 中设置其标题=] 像 navigationItem.title = "title" 而不是更改你的 UITabBarController 之一,或者在 UITabBarDelegate 之一中更改它或者 UITabBarControllerDelegate对应didSelect函数.