我有一個導航控制器,它的根視圖控制器是一個標籤欄控制器。在該選項卡欄控制器我有兩個視圖控制器是這樣的:導航控制器與導航控制器的標籤欄控制器
在標籤欄控制器I有一個自定義導航欄。 當我點擊標籤欄中的第一項,導航欄看起來不錯 但是當我點擊第二項時,我遇到了一個問題:在導航欄下方有另一個紅色導航欄。 有些人可以解釋這一點嗎?
我有一個導航控制器,它的根視圖控制器是一個標籤欄控制器。在該選項卡欄控制器我有兩個視圖控制器是這樣的:導航控制器與導航控制器的標籤欄控制器
在標籤欄控制器I有一個自定義導航欄。 當我點擊標籤欄中的第一項,導航欄看起來不錯 但是當我點擊第二項時,我遇到了一個問題:在導航欄下方有另一個紅色導航欄。 有些人可以解釋這一點嗎?
你可以在根控制器上或者任何適合你的孩子上做navigationController.navigationBarHidden = true
。
但是,如果僅使用UINavigationController
和UITabBarController
的IMO navigationController
,則效果會更好。
如果你不想第一導航控制器的導航欄,然後從界面生成器(故事板)選擇您的根導航控制器(即navigationcontroller一個與tabbarcontroller嵌入)和取消選中shows navigation bar
Navigation controller
下!這將隱藏根導航視圖控制器的導航欄!
在你的情況,你應該隱藏和顯示在viewWillDisAppear
導航欄和viewWillAppear
類似,
在viewWillAppear
self.navigationController.navigationBar.hidden = NO;
在viewWillDisAppear
self.navigationController.navigationBar.hidden = YES;
上面做的事情你都視圖 - 控制你的tabbarcontroller!
您遇到導航欄顏色問題 – Birendra
是的,您必須隱藏根控制器。 appdelegate.window.rootviewcontroller獲取導航欄參考並將其隱藏起來 –
謝謝,但是當我碰到第一項時,導航欄不是綠色,但是當我碰到第二項時它是紅色的? –