出现的原因主要是因为 iOS11 新增的 contentInsetAdjustmentBehavior导致,
解决方法:
if (@available(iOS 11.0, *)) {
scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
} else {
self.automaticallyAdjustsScrollViewInsets = false;
}
效果:
contentOffset为负的导航高度.png

contentOffset归零的效果图.png