iOS iphoneX适配

1.跳动的心
http://www.51zxw.net/bbs/UploadFile/2011-11/20111151513484110.gif

iPhone X竖屏时占满整个屏幕的控制器的view的safeAreaInsets是(44,0,34,0),横屏是(0,44,21,44),inset后的区域正好是safeAreaLayoutGuide区域
3.ios11之后的一些变化
3.1.视图漂移或者闪动原因:
因为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视图漂移或者闪动就没有了
解决了
点击按钮 tableview 在 reloaddata时 界面不会颤动了

你可能感兴趣的:(iOS iphoneX适配)