2012-01-19 276 views
2

並且具有根控制器和其他四個視圖(INC UITable視圖)所有我想是隱藏在資產淨值第一根視圖控制器和顯示欄在所有其他視圖上導航欄.. 。UINavigation控制器隱藏導航欄

嘗試以下

[self.navigationController setNavigationBarHidden:YES animated:animated]; 

沒有運氣什麼想法?

+0

你有什麼樣的問題?這應該工作好... – sergio

+0

@sergio其隱藏導航欄橫跨每一個視圖,我只是希望它只隱藏在根控制器視圖(主控制器)「....我錯過了什麼?現在所有的意見都有導航欄走了代碼的方式... – codejunkie

回答

3

使用此代碼在您的根控制器(或所有你想有一個隱藏的導航欄視圖控制器。參見[1]雖然),以隱藏/顯示根據導航欄你的真正意圖:

- (void)viewDidLoad { 
    ... 
    [self.navigationController setNavigationBarHidden:YES animated:NO]; 
    ... 
} 

- (void)viewWillAppear:(BOOL)animated { 
    [self.navigationController setNavigationBarHidden:YES animated:animated]; 
    .... 
} 

- (void)viewWillDisappear:(BOOL)animated { 
    [self.navigationController setNavigationBarHidden:NO animated:animated]; 
    ... 
} 

這只是一個可能的解決方案。你很可能離開viewWillDisappear未定義在非root控制器和您的根控制器定義viewWillAppear ......如您所見,您最方便的。

[1]在隱藏什麼,但根控制器的導航欄使得有可能會卡在你的導航層次結構的中間。此外,它是針對iOS應用程序突然隱藏任何東西比根視圖導航欄直觀的導航。)

+0

酷@sergio爲什麼我沒有想過這... thx的傢伙。 – codejunkie

1

您可以通過使用此代碼

self.navigationController.navigationBar.hidden = YES; 

使用此代碼視圖沒有隱藏此加載