原本正常的页面,在iOS 11下多出20像素空白,原因是iOS 11 的 ScrollView 增加了 contentInsetAdjustmentBehavior 属性。
如果当前页面用的是 UITableView 用以下代码解决:
if (@available(iOS 11.0, *)) {
_tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
如果当前页面是 UIScrollView ,把上面 _tableView 替换为 _scrollView 测试无效,在 AppDelegate 设置如下代码解决:
if (@available(iOS 11.0, *)){
//避免滚动视图顶部出现20的空白以及push或者pop的时候页面有一个上移或者下移的异常动画的问题
[[UIScrollView appearance] setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];
}