作者:似是故人来 | 来源:互联网 | 2023-01-30 22:48
在设置UITableView用于自定义单元格大小时,必须指定EstimatedRowHeight。考虑到像元高度将在显示像元之前先由系统计算出来,所以为什么甚至需要这样做呢?
1> Jbryson..:
将行高设置为UITableViewAutomaticDimension(-1),告诉自动布局引擎需要解决行高。估计的高度为引擎提供了一个开始猜测,以解决布局约束方程。
从有关估算行高的文档中:
提供行高度的非负估计可以提高加载表视图的性能。如果表格包含高度可变的行,则在表格加载时计算其所有高度可能会很昂贵。使用估算可以使几何计算的某些成本从加载时间推迟到滚动时间。
创建自调整大小的表格视图单元格时,需要设置此属性并使用约束来定义单元格的大小。
为了帮助求解器,估计高度应尽可能接近最终高度。这样可以减少布局引擎查找正确值的迭代次数。即使单元的高度发生极大变化,将估计的高度设置为平均值,中位数或众数值也可以提供最接近的值来开始求解,从而希望减少迭代次数(平均)。