2016-12-30 164 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!