我正在尝试在屏幕顶部显示导航栏,但它没有显示在嵌入式导航控制器中。
这是在模拟器中:
如您所见,我在屏幕底部创建了一个自定义TabBar(跟this tutorial之后),以便我可以在不同视图之间导航。
我相信我将不得不以编程方式加载导航栏,因为我找到的唯一解决方案是将导航控制器设置为初始视图控制器,但我已将另一个视图设置为初始视图,因此我可以'那样做。
答案 0 :(得分:3)
问题:
当您使用storyBoard标识符实例化viewController时,即使您已向其添加了NavigationController,它们也不会带有免费的嵌入式导航控制器。因此,您将向视图栏VC添加一个没有导航栏的viewController。
<强>解决方案:强>
解决方案1:如果您希望每个子视图控制器都携带自己的导航控制器,从而拥有自己的导航堆栈,请为您的子视图控制器后面的导航控制器提供故事板标识符,并实例化导航控制器本身而不是ViewController 。并在标签栏中添加NavigationController,查看VC的孩子。由于导航控制器默认加载嵌入式VC,因此您将看到带有导航栏的子VC。
解决方案2:您所关注的只是导航栏,而不是在包含VC的标签栏后面添加导航控制器,只需查看。
希望有所帮助
答案 1 :(得分:0)
您是否尝试过将导航栏限制在视图中?否则它可能会移出屏幕。
答案 2 :(得分:0)
您需要将标签栏控制器segue指向视图的导航控制器 - 否则,如果您将segue直接指向视图,则只需加载视图而不连接任何导航控制器。