2

这是对以前未解决的帖子的跟进。我在表格视图中有一个导航控制器、一个表格视图控制器和一个搜索栏。所有这些都内置在故事板中。I then build another viewcontroller programmatically when a cell is selected. 我不希望导航栏出现在最后一个视图中,所以我在 viewWillDisappear 中调用

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

如果我在主 tableView 中选择一个单元格,这工作得很好。但是,如果在通过搜索栏搜索缩小数据后选择了单元格,则导航栏将出现在后续视图中,尽管在 viewWillDisappear 中调用了 setNavigationBarHidden。

我尝试在 viewDidDisappear 中重复这个调用,现在,导航栏从后续视图中消失了,尽管它只是短暂显示。

我想知道显然重置 NavigationBarHidden 属性的 viewWilldisappear 和 viewDiddisappear 调用之间会发生什么?

4

1 回答 1

1

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

 self.searchDisplayController.active=NO;

其次是:

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

当然,我很想听听真正了解这里发生的事情的人的来信。

于 2012-05-22T10:52:57.360 回答