estimatedRowHeight 与 self sizing cells

本文探讨了UITableView中estimatedRowHeight属性的作用和意义,指出它能提高表格加载速度,但可能导致滚动时的计算延迟。介绍了self sizing cells的概念,讨论了不同iOS版本对此的优化,并列举了动态字体对高度计算的影响。最后,提到了计算cell高度的三种方法:Auto Layout、sizeThatFits()和preferredLayoutAttributesFittingAttributes(),并强调了在使用self sizing cells时的注意事项。
摘要由CSDN通过智能技术生成

estimatedRowHeight

为什么要引入estimatedRowHeight呢?顾名思义就是预估高度。在预估高度之前,与高度相关的属性及方法比较常用的有以下两个:
* rowHeight:这个属性适合用于拥有固定高度的tableview,这种方式比较高效,滚动时没有任何高度计算,可以得到较好的滚动体验。
* tableview:heightForRowAtIndexPath:这种方式适用于tableview需要根据不同的内容展示不同高度的cell,在该方法中计算得出cell高度。但是这种方式的缺点也很明显,即使你有20,000行的cell,系统也会在tableview加载的时候提前获取所有cell的高度。延长了tableview的加载时间。

文档中对estimatedRowHeight的解释是这样的:提供一个非负的预估行高可以提高tableview的加载速度。如果一个tableview中包含可变的行高,当tableview加载数据时,会去计算所有的行高,这个代价是很大的。使用预估高度的话,你就可以将一些计算工作从加载时间推迟到滚动时间。

我们都知道,创建一个UIScrollView,需要设置它的contentSize,才可以正确的显示,tableview也一样,tableview在创建了之后,需要知道即将展示在tableview中展示的数据个数以及每条数据内容决定的cell

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值