0
我不確定這是如何工作的。我有一個UITabBarController,我的第一個選項卡是UiNavigationController,它的rootViewController有一個UISearchDisplayController和UISearchBar。我將rootViewController設置爲UINavigationControllerDelegate。UINavigationBar搜索後取消隱藏
我這樣做:
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
[self.navigationController.navigationBar setHidden:YES];
}
所以我的導航欄將不會顯示。該部分起作用。當我進行搜索並按下回車鍵後,導航欄就會進入,並將我的搜索欄下推。這裏發生了什麼?有什麼地方需要阻止導航欄顯示嗎?
我知道我可以用模態表示我的視圖控制器,因爲這是我以前做的。但除navBar問題外,沒有理由將其以模態方式呈現。一旦搜索完成並且用戶選擇了一些內容進入更詳細的項目視圖,我就會在那裏創建一個navigationController。看起來如果我在根上只有一個UINavigationController會更好,因爲就像我說的那樣,沒有理由以模態方式顯示詳細列表。謝謝!
這工作更換
。它爲什麼有效?我很難看出差異。 – Crystal 2012-07-07 17:20:32
導航控制器負責其導航欄。在第一種情況下,你自己隱藏它,但控制器不知道這些,所以稍後可能會取消隱藏。但在第二種情況下,您告訴控制器您希望將其隱藏起來,因此它隱藏並隱藏它。 – Simon 2012-07-13 09:07:25