带导航控制器标签栏控制器的导航控制器

时间:2016-12-30 04:55:45

标签: ios interface-builder uitabbarcontroller uinavigationbar

我有一个导航控制器,它的根视图控制器是一个标签栏控制器。在这个标签栏控制器中,我有两个视图控制器,如下所示:

enter image description here

在标签栏控制器中,我有一个自定义导航栏。 当我单击标签栏中的第一个项目时,导航栏看起来很好  但是当我点击第二个时,我遇到了一个问题:在导航栏下方还有另一个红色导航栏。 有人可以帮我解释一下吗?

2 个答案:

答案 0 :(得分:0)

如果您不想要第一个导航控制器的导航栏,那么从界面构建器(故事板)中选择您的根导航控制器(即嵌入了tabbarcontroller的navigationcontroller)和attribute inspector取消选中shows navigation bar下的导航控制器Navigation controller!这将隐藏根导航视图控制器的导航栏!!

在您的情况下,您应隐藏并在viewWillDisAppearviewWillAppear中显示导航栏,

viewWillAppear

   self.navigationController.navigationBar.hidden = NO;

viewWillDisAppear

   self.navigationController.navigationBar.hidden = YES;

为tabbarcontroller的两个viewcontroller执行以上操作!!

答案 1 :(得分:0)

您可以在根导航控制器上执行navigationController.navigationBarHidden = true,也可以在适合您的孩子身上执行UINavigationController

但如果您只使用一个navigationController和IMO UITabBarController List,那就更好了。