2012-05-21 63 views
0

我在故事板中设置了导航控制器和桌面视图控制器。在tableview中有一个搜索栏。 我使用self.navigationcontroller获得对导航控制器的引用。 我使用如何在tableview搜索栏中获得对navigationcontroller的引用?

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

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

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

回答

1

这是我发现:该NavigationBarHidden属性重置明显,因为当搜索栏离开视图,它会再次发送导航栏上的视图。我不知道到底发生了什么,但是我的viewWillDisappear中的这行代码解决了这个问题:

self.searchDisplayController.active=NO; 
0

你为什么不在下面的viewcontroller上执行那行代码?

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    [self.navigationController setNavigationBarHidden:YES animated:animated]; 
} 
+0

我已经试过了,但它不起作用。导航栏仍然显示 –

+0

您是手动添加导航栏还是使用IB? –

相关问题