iOS11

作者: 宙斯YY | 来源:发表于2017-09-21 11:41 被阅读21次

    1.UITableView在有导航条的情况下,布局从0开始没问题,但是在没有导航条的情况下,布局从0开始会把状态栏空出来,需要添加一段代码。

     if (@available(iOS 11.0, *)) {
     self.tableview.contentInsetAdjustmentBehavior=UIScrollViewContentInsetAdjustmentNever;
        } else {
            self.automaticallyAdjustsScrollViewInsets=NO;
        }
    

    对于iPhoneX(圆角屏幕)而言,拥有下拉刷新上拉加载控件的整屏幕的tableview也需要添加该代码,否则控件刷新完会裸露在外面,以MJRefresh为例。

    2.因为iOS 11后系统默认开启Self-Sizing,首先要知道Self-Sizing是个什么东东。官方文档是这样解释的:大概就是说我们不用再自己去计算cell的高度了,只要设置好这两个属性,约束好布局,系统会自动计算好cell的高度。
    IOS11以后,Self-Sizing默认开启,包括Headers, footers。如果项目中没使用estimatedRowHeight属性,在IOS11下会有奇奇怪怪的现象,因为IOS11之前,estimatedRowHeight默认为0,Self-Sizing自动打开后,contentSize和contentOffset都可能发生改变。
    所以可以通过以下方式禁用:

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

        self.tableView.estimatedRowHeight = 0;
        self.tableView.estimatedSectionHeaderHeight = 0;
        self.tableView.estimatedSectionFooterHeight = 0;
    

    现在在reloadData视图漂移或者闪动就没有了

    相关文章

      网友评论

          本文标题:iOS11

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