Ios 移除嵌套的UINavigationController时不显示UINavigationBars

Ios 移除嵌套的UINavigationController时不显示UINavigationBars,ios,objective-c,uinavigationcontroller,Ios,Objective C,Uinavigationcontroller,我的一个UITabBarController选项卡的开头设置如下,其中第一个UINavigationController位于主UITabBarController的右侧,作为第二个选项卡(索引1) 在第二个控制器和第三个控制器之间有一个UINavigationController;我删除了它,因为我认为我需要创建一个UIViewController堆栈,而不是嵌套导航控制器。所有视图都应该来自一个导航控制器,但是,现在我已经移除了导航控制器,第三个ViewController(在我的iPhon

我的一个
UITabBarController
选项卡的开头设置如下,其中第一个
UINavigationController
位于主
UITabBarController
的右侧,作为第二个选项卡(索引1)

在第二个控制器和第三个控制器之间有一个
UINavigationController
;我删除了它,因为我认为我需要创建一个
UIViewController
堆栈,而不是嵌套导航控制器。所有视图都应该来自一个导航控制器,但是,现在我已经移除了导航控制器,第三个ViewController(在我的iPhone上运行)上不再有导航栏,问题是什么

顺便说一句,我试过使用
[self.navigationController.navigationBar setHidden:NO];
在第三个不起作用的ViewController上,并且在情节提要中将“顶栏”设置为“不透明导航栏”

编辑:


此时,我实际上已成功设置了整个导航层次结构,没有嵌套的
UINavigationController
s,但无法导航,因为它会在显示时立即带走我的
UINavigationBar
s,只需将视图重新嵌入重新建立的现有导航控制器中。

确保第二个控制器中有一个导航项,如果没有,请从组件导航器中拖动一个导航项。然后设置
导航项的属性来测试它(即,使用标题或添加按钮等)。

因此,在将VC添加到导航堆栈时,我应该手动添加导航栏。。在故事板中?否,导航栏会自动添加到
UINavigationController
中,您无需再添加一个。我上面建议的是在VC中添加一个
UINavigationItem
,而不是
UINavigationBar
。通常情况下,当你在故事板中拖动它时,它也会自动添加到你的VC中,但是我怀疑你可能在上面描述的所有删除和移动操作中意外地删除了它。请注意,
UINavigationController
中通常只有一个
UINavigationBar
,它通过查看每个
UIViewController
UINavigationItem
来呈现其内容,我尝试将
UINavigationItem
添加到第二个VC,但导航栏仍然没有显示在第三个VC上。。还请记住,第三个VC上已经有一个导航项。似乎无论我做什么。。我必须在第二个和第三个VC之间有一个
UINavigationController
,以保持第三个VC的导航栏。你是如何将第三个VC连接到第二个VC的?这个问题占用了我太多的时间,一点都不好笑,我显然不理解概念上的东西或其他东西,我已经阅读了
UINavigationController
s和
UITabBarController
s上的文档