这是对之前未解决的帖子的跟进。 我在tableview中有一个navcontroller,一个tableview控制器和一个搜索栏。所有这些都是在故事板中构建的。 然后,当选择单元格时,我以编程方式构建另一个viewcontroller。 我不希望导航栏出现在最后一个视图中,因此,在viewWillDisappear中我调用
[self.navigationController setNavigationBarHidden:YES animated:animated];
如果我在主tableView中选择一个单元格,这可以正常工作。 但是,如果在缩小搜索栏中搜索的数据后选择单元格,则导航栏将显示在后续视图中,尽管在viewWillDisappear中调用setNavigationBarHidden。
我尝试在viewDidDisappear中重复此调用,现在,导航栏会从后续视图中消失,但会暂时显示。
我想知道对viewWilldisappear和viewDiddisappear的调用之间发生了什么,它显然重置了NavigationBarHidden属性?
答案 0 :(得分:1)
这是我发现的:NavigationBarHidden属性显然已重置,因为当搜索栏离开视图时,它将再次在视图上发送导航栏。 我不确定我到底发生了什么,但是我的viewWillDisappear中的这行代码解决了这个问题:
self.searchDisplayController.active=NO;
接下来是:
[self.navigationController setNavigationBarHidden:YES animated:animated];
当然,我很想听听那些真正理解这里发生的事情的人。