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.0
或0.01f
(基于我看到的建议)。 sectionFooterHeight
也一样。
将self.view.tableHeaderView
和self.view.tableFooterView
设置为空视图,高度为0.0
或0.01f
。
拥有titleForHeaderInSection
委托方法返回nil
。
让heightForHeaderInSection
返回0.0
或0.01f
。
设置 estimatedheightForRowAtIndexPath
以返回正确的单元格高度。
这显然是一个 UITableView 问题,因为如果它们都在同一部分中,我的单元格布局就很好。为什么有多个部分,或者页脚区域布局时会这么慢?我做错了什么?
【问题讨论】:
UITableView
很好,贴一些代码。
【参考方案1】:
也许您的 UITableViewCells 不可重复使用。
【讨论】:
【参考方案2】:你能告诉你有多少个部分吗?尝试使用estimatedSectionHeaderHeight 和estimatedSectionFooterHeight。
Apple 的 api 文档说:“提供节标题高度的非负估计可以提高加载表格视图的性能。如果表格包含可变高度的节标题,则在表格中计算所有高度可能会很昂贵加载。使用估计允许您将几何计算的一些成本从加载时间推迟到滚动时间。"
这是关于估计的SectionHeaderHeight,这种延迟加载机制对节页脚的工作方式相同。
由于您仅在部分数量变大时才会滞后,我认为这可能会有所帮助。
【讨论】:
以上是关于ios - UITableView 滞后于多个部分的主要内容,如果未能解决你的问题,请参考以下文章
iOS 5 - 按核心数据属性将 UITableView 划分为多个部分
如何优化 UITableViewCell,因为我的 UITableView 滞后