2012-05-21 67 views
0

我在故事板中設置了導航控制器和桌面視圖控制器。在tableview中有一個搜索欄。 我使用self.navigationcontroller獲得對導航控制器的引用。 我使用如何在tableview搜索欄中獲得對navigationcontroller的引用?

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

要隱藏在其中顯示所述後續視圖導航欄。 在沒有使用搜索欄的情況下在tableview中選擇一個單元格時,這工作正常。 但是,如果我使用搜索欄在表格視圖中顯示特定的單元格,並且如果從該表格中選擇一個單元格,那麼顯然我會失去對導航控制器的引用,因爲儘管執行了上述代碼,導航欄仍然顯示在後面的觀點。

我應該怎麼做才能隱藏導航欄?

回答

1

這是我發現:該NavigationBarHidden屬性重置明顯,因爲當搜索欄離開視圖,它會再次發送導航欄上的視圖。我不知道到底發生了什麼,但是我的viewWillDisappear中的這行代碼解決了這個問題:

self.searchDisplayController.active=NO; 
0

你爲什麼不在下面的viewcontroller上執行那行代碼?

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

我已經試過了,但它不起作用。導航欄仍然顯示 –

+0

您是手動添加導航欄還是使用IB? –

相關問題