iOS 11中TableView位置下移,状态栏空白问题解决

iOS 11中新增了安全区域的概念,当控件超出安全区域时系统会自动调整其SafeAreaInsets值,导致可能出现与我们预期的不同效果。

如下图,左侧为iOS10模拟器,右侧为iOS11模拟器。在iOS11中状态栏位置成为了空白,原因正是如此。


iOS 10与iOS 11对比图


我的解决方法:


通过设置tableView的contentInsetAdjustmentBehavior属性取消系统的"自适应"操作。实际上只需要内部那个判断系统版本的操作即可解决,这边算是做了双保险判断来确认当系统想对我们的tableView做改变的时候制止它。

还有其他解决方法以及相关概念说明大家可以参考---《iOS 11 安全区域适配总结》 

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

推荐阅读更多精彩内容