Iphone UISearchDisplayController取消按钮不刷新标题和索引

Iphone UISearchDisplayController取消按钮不刷新标题和索引,iphone,uisearchbar,uisearchdisplaycontroller,cancel-button,Iphone,Uisearchbar,Uisearchdisplaycontroller,Cancel Button,我有一个表视图,有一长串字符串。每个部分都有标题、右侧的索引和搜索按钮。 这是通过编程实现的,使用UISearchDisplayController,即不在IB中 当search按钮被激活时,我会通过询问来隐藏titleForHeaderInSection中的标题,并隐藏sectionIndexTitlesForTableView中的索引 如果[self.searchDisplayController处于活动状态] 问题是,当单击“取消”按钮时,标题和索引首先保持隐藏状态。我尝试在searchB

我有一个表视图,有一长串字符串。每个部分都有标题、右侧的索引和搜索按钮。 这是通过编程实现的,使用UISearchDisplayController,即不在IB中

当search按钮被激活时,我会通过询问来隐藏titleForHeaderInSection中的标题,并隐藏sectionIndexTitlesForTableView中的索引 如果[self.searchDisplayController处于活动状态]

问题是,当单击“取消”按钮时,标题和索引首先保持隐藏状态。我尝试在searchBarCancelButtonClicked中调用[self.tableView reloadData],但这不起作用

我的视图中将出现一个[self.tableView reloadData],这在某种程度上是有帮助的:如果我选择一行,将另一个视图推到堆栈上,然后返回到该表,标题和索引将按需要显示在那里


我可能做错了什么?

我发现有时候,当[tableView reloadData]不起作用时,这样做会:

[tableView performSelector:@selector(reloadData) withObject:nil afterDelay:0];

无论出于何种原因,有时表视图会进入这样一种状态,它必须等到运行循环的下一次迭代之后,重新加载才会生效。

不客气!而且,有时,当您希望在重新加载的同时执行行插入/删除动画时,如果延迟大于0.3,效果会很好,因为重新加载数据将取消我找到的动画。