如何在 tableview 搜索栏中获取对 navigationcontroller 的引用?
Posted
技术标签:
【中文标题】如何在 tableview 搜索栏中获取对 navigationcontroller 的引用?【英文标题】:How to get reference to navigationcontroller in tableview searchbar? 【发布时间】:2012-05-21 07:37:07 【问题描述】:我在情节提要中设置了一个导航控制器和一个表格视图控制器。表格视图中有一个搜索栏。 我使用 self.navigationcontroller 获得了对导航控制器的引用。 我用
[self.navigationController setNavigationBarHidden:YES animated:animated];
在随后显示的视图中隐藏导航栏。 在不使用搜索栏的情况下选择表格视图中的单元格时,这可以正常工作。 但是,如果我使用搜索栏在表格视图中显示特定单元格,并且如果我从该表格中选择一个单元格,那么显然我会丢失对导航控制器的引用,因为尽管执行了上面的代码,导航栏仍然显示在如下视图。
我应该怎么做才能隐藏导航栏??
【问题讨论】:
【参考方案1】:这是我发现的:NavigationBarHidden 属性显然已重置,因为当搜索栏离开视图时,它会在视图上再次发送导航栏。我不确定我是否完全理解正在发生的事情,但我 viewWillDisappear 中的这行代码解决了这个问题:
self.searchDisplayController.active=NO;
【讨论】:
【参考方案2】:为什么不在下面的视图控制器上执行那行代码?
- (void)viewWillAppear:(BOOL)animated
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:YES animated:animated];
【讨论】:
我已经尝试过了,但它不起作用。导航栏仍然显示以上是关于如何在 tableview 搜索栏中获取对 navigationcontroller 的引用?的主要内容,如果未能解决你的问题,请参考以下文章
在 UISearchController 中搜索时无法在 tableView 中滚动