美文网首页iOS 技术分享
iOS - reloadData后页面跳动

iOS - reloadData后页面跳动

作者: Joh蜗牛 | 来源:发表于2020-03-12 10:52 被阅读0次
    原因:

    因为iOS 11后系统默认开启Self-Sizing;
    Self-Sizing——官方文档是这样解释的:大概就是说我们不用再自己去计算cell的高度了,只要设置好这两个属性,约束好布局,系统会自动计算好cell的高度。

    IOS11以后,Self-Sizing默认开启,包括Headers, footers。如果项目中没使用estimatedRowHeight属性,在IOS11下会有奇奇怪怪的现象,因为IOS11之前,estimatedRowHeight默认为0,Self-Sizing自动打开后,contentSize和contentOffset都可能发生改变。
    所以可以通过以下方式禁用:

    解决方法:

    在tableView初始化的地方加入下面代码:

    _baseTableView.estimatedRowHeight = 0;
     _baseTableView.estimatedSectionHeaderHeight = 0;
     _baseTableView.estimatedSectionFooterHeight = 0;
    

    相关文章

      网友评论

        本文标题:iOS - reloadData后页面跳动

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