根据苹果设计指南,标签栏控制器应用作应用程序中最顶层的导航。
如果有什么理由不使用它。如果您使用导航控制器,您应该为每个流程使用单独的导航控制器。您可以通过选择将控制器嵌入 UINavigationController
编辑器 -> 嵌入 -> UINavigationController
如果您的设置是TabBarController -> ChildViewController [Each of these embedded in UINavigationController]
正确的
但至于你的描述,设置很可能
UINavigationController -> UIViewController (title "Devices") -> UITabBarController -> ChildViewController
该MORE
选项卡是特定的。参考tabbarController.moreNavigationController
您在“管理”选项卡中看不到标题的原因是视图层次结构不同。由于您没有提到如何将标题设置为 navigationItem。有两种可能性。
在您的 Manage VC viewDidAppear 方法中调用以下代码段
self.tabBarController?.navigationItem.title
您也可以参考关于标签栏控制器的类似问题。这主要是关于使用它(与更多无关)
Stackoverflow - 标签栏控制器
回答您的问题 - 由于不同的视图层次结构,行为有所不同。更多选项卡中的 Child VC 分别嵌入 UINavigationController 到 UITabBarControllers 属性moreNavigationViewController
中。