【发布时间】:2017-02-15 20:24:45
【问题描述】:
我正在尝试在屏幕顶部显示导航栏,但它没有显示在嵌入导航控制器中。
它在模拟器中:
如您所见,我在屏幕底部创建了一个自定义 TabBar(在 this tutorial 之后),以便我可以在不同视图之间导航。
我相信我将不得不以编程方式加载导航栏,因为我发现的唯一解决方案是将导航控制器设置为初始视图控制器,但我已经将另一个视图设置为初始视图,所以我可以'不要那样做。
【问题讨论】:
我正在尝试在屏幕顶部显示导航栏,但它没有显示在嵌入导航控制器中。
它在模拟器中:
如您所见,我在屏幕底部创建了一个自定义 TabBar(在 this tutorial 之后),以便我可以在不同视图之间导航。
我相信我将不得不以编程方式加载导航栏,因为我发现的唯一解决方案是将导航控制器设置为初始视图控制器,但我已经将另一个视图设置为初始视图,所以我可以'不要那样做。
【问题讨论】:
问题:
当您使用 storyBoard 标识符实例化 viewController 时,即使您已向其中添加 NavigationController,它们也不会附带免费的嵌入式导航控制器。结果,您将没有导航栏的 viewController 添加到标签栏 VC。
解决方案:
解决方案 1: 如果您希望每个子 viewController 携带自己的导航控制器,从而拥有自己的导航堆栈,请在子 viewController 后面为导航控制器提供故事板标识符,并实例化导航控制器本身而不是 ViewController .并添加 NavigationController 作为你的标签栏寻找 VC 的孩子。因为导航控制器默认加载嵌入的 VC,所以您会看到带有导航栏的子 VC。
解决方案2:您只关心导航栏,而不是在包含选项卡栏的 VC 后面添加导航控制器查看视图。
希望对你有帮助
【讨论】:
您是否尝试过将导航栏限制在您的视图中?否则它可能会移出屏幕。
【讨论】:
您需要将标签栏控制器 segue 指向视图的导航控制器 - 否则,如果您将 segue 直接指向视图,您只是在加载视图而没有附加任何导航控制器。
【讨论】: