Ios 嵌入式导航控制器中未显示导航栏

Ios 嵌入式导航控制器中未显示导航栏,ios,swift,xcode,swift3,Ios,Swift,Xcode,Swift3,我试图在屏幕顶部显示导航栏,但它没有显示在嵌入式导航控制器中 以下是故事板中的内容: 这里是模拟器: 如您所见,我在屏幕底部创建了一个自定义选项卡栏(如下),以便在不同视图之间导航 我相信我必须以编程方式加载导航栏,因为我找到的唯一解决方案是将导航控制器设置为初始视图控制器,但我已经将另一个视图设置为初始视图控制器,因此我无法这样做。您是否尝试过将导航栏约束为您的视图?否则它可能会移动到屏幕外。您需要将选项卡栏控制器序列指向视图的导航控制器-否则,如果您将序列直接指向视图,您只是加载视图,而

我试图在屏幕顶部显示导航栏,但它没有显示在嵌入式导航控制器中

以下是故事板中的内容:

这里是模拟器:

如您所见,我在屏幕底部创建了一个自定义选项卡栏(如下),以便在不同视图之间导航


我相信我必须以编程方式加载导航栏,因为我找到的唯一解决方案是将导航控制器设置为初始视图控制器,但我已经将另一个视图设置为初始视图控制器,因此我无法这样做。

您是否尝试过将导航栏约束为您的视图?否则它可能会移动到屏幕外。

您需要将选项卡栏控制器序列指向视图的导航控制器-否则,如果您将序列直接指向视图,您只是加载视图,而没有连接任何导航控制器。

问题:

当您使用序列图像板标识符实例化viewController时,即使您向其添加了NavigationController,它们也不会附带免费的嵌入式导航控制器。因此,您正在向选项卡栏添加一个不带导航栏的viewController

解决方案:

解决方案1:如果您希望每个子ViewController都携带自己的导航控制器,从而拥有自己的导航堆栈,请为子ViewController后面的导航控制器提供情节提要标识符,并实例化导航控制器本身,而不是ViewController。并在选项卡栏中添加NavigationController,以查看VC的子项。因为导航控制器默认加载embdeded VC,所以您将看到您的子VC带有导航栏

解决方案2:您所关心的只是导航栏,而不是在包含选项卡栏的VC视图后面添加导航控制器


希望有帮助

第一个解决方案是我的选择,因为有些视图我不希望导航栏位于顶部,所以我相信我必须做额外的工作来隐藏导航栏或者改变它的一些属性。@alexandre lara:很高兴知道你的问题解决了:)高兴吗coding@SandeepBhandari在哪里实例化导航控制器本身?谢谢。@jorge saraiva:很抱歉,我不确定我是否理解你的意思,但如果你想按照我在解决方案1中的建议从情节提要中实例化导航控制器,你可以向导航控制器本身添加情节提要标识符,然后在代码中实例化它。但通常情况下,如果NaviagtionController在情节提要中具有关联的ViewController作为其initialView控制器,则该ViewController将被实例化:)的可能副本