2013-07-09 20 views
0

我使用2 UINavigationController s,一切都很好,除了當我回到其他UINavigationController中的前一個控制器時,我有它的導航欄+前一個控制器的導航欄,例如:一個控制器與兩個導航欄

Navigation Controller1 => A controller => B controller => Navigation Controller2=> C controller. 

當我從C控制器Segue公司的控制器都在我的導航控制器1的導航欄和2 我試圖讓,當我離開C控​​制器:

-(void)viewDidDisappear:(BOOL)animated{ 
    [super viewDidDisappear:(BOOL)animated]; 
    NSLog(@"Disappeared!"); 
    [self.navigationController setNavigationBarHidden:YES]; 
} 

但我始終有同樣的問題。 任何提示,想法? 謝謝你的幫助。

+0

爲什麼你有兩個導航控制器?你真的不應該這樣做。使用兩個導航控制器無法完成的任何操作都無法完成。 – Fogmeister

+0

我應該因爲我使用兩個邊欄菜單,庫需要在每個邊欄菜單中使用UINavigationController。 – androniennn

+1

你可不可以爲兩者使用相同的導航控制器?另外,我不鼓勵使用一個側面的菜單,而不介意兩個。 http://www.oliverfoggin.com/the-hamburger-menu-is-it-a-good-thing/ – Fogmeister

回答

3

我嚴重懷疑您是否需要兩個導航控制器,但如果您認爲您需要,可以通過在適當的視圖控制器中調用setNavigationBarHidden:animated:self.navigationController來隱藏一個控制器的導航欄。

+0

這就是我所做的,但它不工作。 – androniennn

1

你爲什麼要將UINavigationControllers互相推入?這不是一個好的iOS編程習慣。您可以在第一導航中將第二個導航控制器顯示爲modal controller。控制器,並在完成任務後解散它。

+0

問題是我必須使用導航控制器來創建側欄菜單。將嘗試你的解決方案。謝謝。 – androniennn

+0

哦對。儘管如此,您將它放在viewDidDisappear中,這不會被推送到新的segue。把它放在視圖控制器的viewWillAppear中。 –

相關問題