1

我有一个表格视图,其中包含一长串字符串。每个部分都有标题,右侧有一个索引和一个搜索按钮。这已使用 UISearchDisplayController 以编程方式实现(即不在 IB 中)。

当搜索按钮被激活时,我隐藏标题(in titleForHeaderInSection),并隐藏索引(in sectionIndexTitlesForTableView),通过询问
if ([self.searchDisplayController isActive])

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

我有一个[self.tableView reloadData]in my viewWillAppear,这在一个方面有帮助:如果我选择一行,将另一个视图推送到堆栈上,然后返回到这个表,标题和索引就在那里。

我可能做错了什么?

4

1 回答 1

0

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

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

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

于 2011-02-11T20:47:27.363 回答