美文网首页
iOS tableView估算高度的作用

iOS tableView估算高度的作用

作者: 小白PK大牛 | 来源:发表于2019-01-18 11:36 被阅读0次

1、属性介绍

在 iOS7.0之后出现了estimatedRowHeight这个属性,

default is UITableViewAutomaticDimension, set to 0 to disable

默认是在tableview所有cell的真实高度是自动计算的(根据设置的约束自动计算)时候使用

// self-sizing技术 (iOS8 开始支持的)

// 告诉tableView所有cell的真实高度是自动计算的(根据设置的约束自动计算)

//iOS8之后默认就是这个值,可以省略

self.tableView.rowHeight =UITableViewAutomaticDimension;

// 告诉tableView所有cell的估算高度

self.tableView.estimatedRowHeight =44;

2、使用场景

iOS7.0 tableView就有了估算高度及相关属性,但是真正运用是在self-sizing技术(iOS8开始支持)。

在tableview加载完数据渲染时,需要考虑到滚动条的长度显示问题,所以要一次性将所有cell的高度全部计算完毕,从而确定滚动条的长度精度,当数据量大的时候,每个cell高度确认都要调用tableview的数据源方法heightForRowAtIndexPath,就会造成无谓的性能消耗,此时可以考虑使用self-sizing了,开启self-sizing后,tableview计算滚动条的显示长度,不会再每个cell高度确认都要调用tableview的数据源方法heightForRowAtIndexPath,而是按屏幕视图窗口显示多少个cell,使用估算高度来大致计算tableview的contentSize,不需要每个cell的高度都计算一遍后再确定contentsize,从而可以优化性能。

Self-Sizing在iOS11之前版本是默认关闭的,但是iOS11后是默认开启的。

相关文章

网友评论

      本文标题:iOS tableView估算高度的作用

      本文链接:https://www.haomeiwen.com/subject/fpzgdqtx.html