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