2016-12-30 231 views
0

我有一个导航控制器,它的根视图控制器是一个标签栏控制器。在该选项卡栏控制器我有两个视图控制器是这样的:导航控制器与导航控制器的标签栏控制器

enter image description here

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

+0

您遇到导航栏颜色问题 – Birendra

+0

是的,您必须隐藏根控制器。 appdelegate.window.rootviewcontroller获取导航栏参考并将其隐藏起来 –

+0

谢谢,但是当我碰到第一项时,导航栏不是绿色,但是当我碰到第二项时它是红色的? –

回答

0

你可以在根控制器上或者任何适合你的孩子上做navigationController.navigationBarHidden = true

但是,如果仅使用UINavigationControllerUITabBarController的IMO navigationController,则效果会更好。

0

如果你不想第一导航控制器的导航栏,然后从界面生成器(故事板)选择您的根导航控制器(即navigationcontroller一个与tabbarcontroller嵌入)和取消选中shows navigation barNavigation controller下!这将隐藏根导航视图控制器的导航栏!

在你的情况,你应该隐藏和显示在viewWillDisAppear导航栏和viewWillAppear类似,

viewWillAppear

self.navigationController.navigationBar.hidden = NO; 

viewWillDisAppear

self.navigationController.navigationBar.hidden = YES; 

上面做的事情你都视图 - 控制你的tabbarcontroller!

相关问题