首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在搜索视图上重绘UITableView普通样式部分标题

在搜索视图上重绘UITableView普通样式部分标题
EN

Stack Overflow用户
提问于 2011-07-30 08:41:30
回答 4查看 1.3K关注 0票数 3

当tableView位于搜索栏显示控制器的后台时,是否有人成功地重新加载了tableView?看照片,看看发生了什么。

我有一个带有搜索显示控制器的UITableViewController。在显示搜索显示控制器的表视图的同时,当我在UITableViewController的表视图上调用reloadData时,来自UITableViewController的剖视图头被绘制到搜索显示控制器的视图上。

以下是在搜索显示控制器视图顶部显示部分标题视图的快照:

更新:我将代码简化为一个简单的搜索显示控制器和UITableView。如果在searchBar处于活动状态时在tableView上重新加载数据。这个问题仍然存在。

EN

回答 4

Stack Overflow用户

发布于 2011-08-07 17:18:41

我希望你知道你需要两个UITableView才能让搜索栏工作。当搜索处于活动状态时,您应该管理并显示搜索结果表,否则将显示原始搜索结果表。

来自苹果公司的文档:The results are displayed in a table view that’s created by the search display controller.

因此,您不应重新加载原始的UITableView,而应确保 results表的datasource是正确的。

UISearchDisplayController有一个名为searchResultsTableView的属性,您不必使用reloadData专门重新加载该属性。相反,它将通过searchDisplayController:shouldReloadTableForSearchString:UISearchDisplayDelegate协议中的方法进行更新。

干杯,

萨沙

票数 1
EN

Stack Overflow用户

发布于 2012-05-18 12:13:47

我就遇到了这个问题。如果您的情况类似于我的情况,则原因是self.tableView reloadData即使在self.tableView低于searchResultsTableView的情况下也会重新绘制self.tableView标题。

self.tableView reloadData被调用1)当我从我的表视图数据源取数据时,2)在我的fetchedResultsController的设置器中。

此外,如果您的tableView控制器是fetchedResultsController的委托,则每当您的核心数据托管文档发生更改时,它都会接收更新。这也会导致标题被重新绘制。

解决方案:我在填充搜索结果时删除了self.tableView reloadData。此外,我还删除了作为fetchedResultsController委托的tableview控制器。

票数 0
EN

Stack Overflow用户

发布于 2011-08-03 20:24:41

使用NSLog尝试检查从UITableView中准确绘制横断面图标题的时间。也许你可以弄清楚为什么会发生这种情况。然后尝试使用scrollEnabled=NO,就像您所想的那样。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6880333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档