iOS11

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视图漂移或者闪动就没有了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 苹果WWDC开发者大会上,终于发布了大家期待已久的iOS 11,有些新特性功能确实出人意料。不过大的方面苹果...
    Mr_Say_Yes阅读 3,363评论 6 15
  • 苹果公司于9月份如期发布了新的iPhone-iPhone8,iPhone8 Plus,iPhoneX,前两个不用多...
    MonkeyHeng阅读 8,717评论 5 43
  • 随着Xcode GM版本发布,适配iOS 11也就提上了日程,总的来说整个适配过程不是很麻烦。建议观看今年WWDC...
    iOS骆驼阅读 2,751评论 1 6
  • 本文选自《所谓会说话,就是会换位思考》 刚毕业那会儿,没认识到沟通技巧的重要性。结果闹出了不少令人啼笑皆非的笑话,...
    汤圆是圆的圆阅读 1,266评论 0 0
  • 一个普通的大学生,毕了业之后来到帝都工作,没背景,没人迈,但心里始终不想认命。 无论从事什么工作,总是会遇到不顺利...
    小迪迪么么哒阅读 184评论 0 0