Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何在tableview搜索栏中获取对navigationcontroller的引用?_Iphone_Objective C_Xcode - Fatal编程技术网

Iphone 如何在tableview搜索栏中获取对navigationcontroller的引用?

Iphone 如何在tableview搜索栏中获取对navigationcontroller的引用?,iphone,objective-c,xcode,Iphone,Objective C,Xcode,我在故事板中设置了一个导航控制器和一个tableview控制器。在tableview中有一个搜索栏。 我使用self.navigationcontroller获取对导航控制器的引用。 我用 在随后显示的视图中隐藏导航栏。 在tableview中选择一个单元格而不使用搜索栏时,这种方法可以很好地工作。 但是,如果我使用搜索栏在表视图中显示特定单元格,并且从该表中选择了一个单元格,则显然我丢失了对导航控制器的引用,因为尽管执行了上述代码,导航栏仍显示在后续视图中 我应该如何隐藏导航栏???为什么不在

我在故事板中设置了一个导航控制器和一个tableview控制器。在tableview中有一个搜索栏。 我使用self.navigationcontroller获取对导航控制器的引用。 我用

在随后显示的视图中隐藏导航栏。 在tableview中选择一个单元格而不使用搜索栏时,这种方法可以很好地工作。 但是,如果我使用搜索栏在表视图中显示特定单元格,并且从该表中选择了一个单元格,则显然我丢失了对导航控制器的引用,因为尽管执行了上述代码,导航栏仍显示在后续视图中


我应该如何隐藏导航栏???

为什么不在下面的viewcontroller上执行这行代码

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

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

 self.searchDisplayController.active=NO;

我已经试过了,但不起作用。导航栏仍然显示
 self.searchDisplayController.active=NO;