美文网首页
iOS解决UITableView的contentOffset捕获

iOS解决UITableView的contentOffset捕获

作者: 加盐白咖啡 | 来源:发表于2019-10-06 18:22 被阅读0次
情景:

在做一个测试demo的时候,点击tabBar按钮,让tableVIew刷新数据,并且回到顶部设置好的内边距位置,第一次点击是好的,如果使用tableView底部上拉刷新功能,数据量多之后,再点tabBar回到顶部,设置好contentInset距离顶部的内边距,就会不对齐,会有遮挡

原因:

当tableView的Cell数量改变后再次reload,contentOffset的值是通过预估各cell的高度及header、footer的高度后计算得到的,并非准确的值。知道原理后,解决办法也就简单了,关闭系统自带的预估就好了estimatedRowHeight是一个预估高度,iOS11之前是为0,在iOS11下,这个值默认为44

解决办法:加上这3句话
    self.tableView.estimatedRowHeight = 0;
    self.tableView.estimatedSectionHeaderHeight = 0;
    self.tableView.estimatedSectionFooterHeight = 0;

相关文章

网友评论

      本文标题:iOS解决UITableView的contentOffset捕获

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