项目中发现一个问题
在有navigationBar(系统的)的情况下,设置UITableView距离VC的view顶部为0,在iOS11系统上发生了(状态栏高度+navigationBar高度)偏移,在iOS11以下的系统上没有发生偏移。
解决方法
后来设置了navigationBar的translucent属性为NO,UITableView即可发生偏移。
个人之前项目
都是使用自定义navigationBar,从不会出现这种偏移问题😆。
2019.3.11补充:
如果在当前VC上添加的第一个子视图是UITableView或UICollectionView那么系统的一些默认设置会让其发生偏移,不论是在iOS11以下的系统还是iOS11及其以上的系统。但是如果当前VC上先添加一个普通的UIView子视图,再添加UITableView或UICollectionView那么在iOS11以下的系统不会发生偏移而在iOS11及其以上的系统会发生偏移。(注意:UITableView作为子视图被添加的顺序)
系统默认设置代码
/// 系统默认设置
if (@available(iOS 11.0, *)) {
self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentAutomatic;
} else {
self.automaticallyAdjustsScrollViewInsets = YES;
}
****本篇文章到这里就结束了,愿大家加班不多工资多,男同胞都有女朋友,女同胞都有男朋友。😊***