我在故事板中设置了导航控制器和tableview控制器。 tableview中有一个搜索栏。 我使用self.navigationcontroller获得了对导航控制器的引用。 我用
[self.navigationController setNavigationBarHidden:YES animated:animated];
隐藏显示的后续视图中的导航栏。 在不使用搜索栏的情况下在tableview中选择单元格时,此方法可以正常工作。 但是,如果我使用搜索栏在表格视图中显示特定单元格,并且如果我从该表格中选择一个单元格,那么显然我将丢失对导航控制器的引用,因为尽管执行了上述代码,导航栏仍然显示在以下观点。
我该怎么做才能隐藏导航栏?
答案 0 :(得分:1)
这是我发现的:NavigationBarHidden属性显然已重置,因为当搜索栏离开视图时,它将再次在视图上发送导航栏。我不确定我到底发生了什么,但是我的viewWillDisappear中的这行代码解决了这个问题:
self.searchDisplayController.active=NO;
答案 1 :(得分:0)
为什么不在下面的viewcontroller上执行那行代码?
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:YES animated:animated];
}