在项目中许多地方用到了tableView,更新到ios11 后,发现MJFresh的下拉刷新控件下移了,原因是ios 11中 控制器的
automaticallyAdjustsScrollViewInsets 被苹果废弃了,而且 控制器视图 多加了一个安全区域, 当tableView 超出安全区域 时,系统就会自动调整safeAreaInsets值,导致了adjustedContentInset的值改变了,从而使tableView 下移了20pt 或64pt。
值得注意的是,在ios11中决定了tableView 的内容与边缘距离的 不再是contentInset, 而是adjustedContentInset这个属性。
目前有一个解决方法,就是:
#ifdef __IPHONE_11_0
if ([self.orderListView respondsToSelector:@selector(setContentInsetAdjustmentBehavior:)]) {
self.orderListView.contentInsetAdjustmentBehavior =UIScrollViewContentInsetAdjustmentNever;
}
#endif