0

我在情节提要中设置了一个导航控制器和一个 tableview 控制器。表格视图中有一个搜索栏。我使用 self.navigationcontroller 获得对导航控制器的引用。我用

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

在随后显示的视图中隐藏导航栏。在不使用搜索栏的情况下选择表格视图中的单元格时,这可以正常工作。但是,如果我使用搜索栏在表格视图中显示特定单元格,并且如果我从该表格中选择一个单元格,那么显然我会丢失对导航控制器的引用,因为尽管执行了上面的代码,导航栏仍然显示在以下视图。

我应该怎么做才能隐藏导航栏?

4

2 回答 2

1

这就是我发现的: NavigationBarHidden 属性显然已重置,因为当搜索栏离开视图时,它将再次在视图上发送导航栏。我不确定我是否完全理解正在发生的事情,但是我 viewWillDisappear 中的这行代码解决了这个问题:

 self.searchDisplayController.active=NO;
于 2012-05-29T21:50:07.193 回答
0

你为什么不在下面的视图控制器上执行那行代码呢?

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:YES animated:animated];
}
于 2012-05-21T07:42:49.980 回答