美文网首页
iOS 开发_UITableView刷新闪屏偏移问题

iOS 开发_UITableView刷新闪屏偏移问题

作者: iOS_PM_WEB_尛鹏 | 来源:发表于2019-02-21 10:34 被阅读0次

    【作者前言】:13年入圈,分享些本人工作中遇到的点点滴滴那些事儿,17年刚开始写博客,高手勿喷!以分享交流为主,欢迎各路豪杰点评改进!

    1.应用场景:

    在iOS11系统更新后,做程序兼容时,频繁性的会出现UITableView刷新时,屏幕的闪屏Bug

    2.实现目标:

    分析解决此Bug

    3.代码说明:

    1.视图漂移或者闪动原因:
    苹果自iOS11后系统默认开启Self-Sizing,首先要知道Self-Sizing
    起到的作用。官方文档解释如此:大概就是说我们不用再自己去计算cell的高度了,
    只要设置好这两个属性,约束好布局,系统会自动计算好cell的高度。 
    
    IOS11以后,Self-Sizing默认开启,包括Headers, footers。
    如果项目中没使用estimatedRowHeight属性,
    在IOS11下会出现一些特殊的现象,因为IOS11之前,
    estimatedRowHeight默认为0,Self-Sizing自动打开后,
    contentSize和contentOffset都可能发生改变。
    

    不知苹果是否会在后续的API更新中再做调整,为了保险 与兼容性更好,可在判断中做响应的调整: 如下⤵️

    /** 在对应的tableView初始化时加入下面的判断及属性初值 */
    if (@available(iOS 11.0, *)){
        self.tableView.estimatedRowHeight = 0;
        self.tableView.estimatedSectionHeaderHeight = 0;
        self.tableView.estimatedSectionFooterHeight = 0;
    }
    

    相关文章

      网友评论

          本文标题:iOS 开发_UITableView刷新闪屏偏移问题

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