ios - UITableView 滞后于多个部分

Posted

技术标签:

【中文标题】ios - UITableView 滞后于多个部分【英文标题】:ios - UITableView lags with multiple sections 【发布时间】:2014-03-18 03:23:19 【问题描述】:

将我的所有行放在一个部分中效果很好。在大量部分中使用相同数量的行会导致 2-6 秒的延迟,尤其是当 UITableView 的底部显示时。

我尝试过的事情:

UITableViewStyleGrouped 更改为UITableViewStylePlain 设置self.view.sectionHeaderHeight = 0.00.01f(基于我看到的建议)。 sectionFooterHeight 也一样。 将self.view.tableHeaderViewself.view.tableFooterView 设置为空视图,高度为0.00.01f。 拥有titleForHeaderInSection委托方法返回nil。 让heightForHeaderInSection 返回0.00.01f。 设置 estimatedheightForRowAtIndexPath 以返回正确的单元格高度。

这显然是一个 UITableView 问题,因为如果它们都在同一部分中,我的单元格布局就很好。为什么有多个部分,或者页脚区域布局时会这么慢?我做错了什么?

【问题讨论】:

UITableView 很好,贴一些代码。 【参考方案1】:

也许您的 UITableViewCells 不可重复使用。

【讨论】:

【参考方案2】:

你能告诉你有多少个部分吗?尝试使用estimatedSectionHeaderHeight 和estimatedSectionFooterHeight。

Apple 的 api 文档说:“提供节标题高度的非负估计可以提高加载表格视图的性能。如果表格包含可变高度的节标题,则在表格中计算所有高度可能会很昂贵加载。使用估计允许您将几何计算的一些成本从加载时间推迟到滚动时间。"

这是关于估计的SectionHeaderHeight,这种延迟加载机制对节页脚的工作方式相同。

由于您仅在部分数量变大时才会滞后,我认为这可能会有所帮助。

【讨论】:

以上是关于ios - UITableView 滞后于多个部分的主要内容,如果未能解决你的问题,请参考以下文章

iOS 5 - 按核心数据属性将 UITableView 划分为多个部分

uitableview 中的多个原型单元,带有部分

具有多个部分的静态分组 UITableView 的默认外观

如何优化 UITableViewCell,因为我的 UITableView 滞后

在 coredata 中加载图像时 UITableView 滞后

MySQL按查询分组,多个总和不使用索引,滞后于使用文件排序