<----- 以下属于引用:
iOS 11废弃了
automaticallyAdjustsScrollViewInsets,
而是给 UIScrollView 增加了
contentInsetAdjustmentBehavior 属性。
避免这个坑的方法是要判断
if (@available(iOS 11.0, *)) {
_tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}else {
self.automaticallyAdjustsScrollViewInsets = NO;
}
----->
以下是正文:
UIScrollView 以及 继承了它的 UITableView, UICollectionView, UITextView 等
当它们的实例添加到父视图时,如果它是 第一个 add 到父视图中的
iOS 11 之前的系统,默认会帮你加上个 64 pt
比如:
所以,解决办法是:
不让它成为第一个!
在它 add 到父视图前,再添加一行代码,即可解决问题
这个方案,可以不考虑系统版本,甚至忽略 automaticallyAdjustsScrollViewInsets
我的处理方式是:
[self addSubview:[[UIViewalloc]init]];
[self addSubview:_collectionView];
或者是
[self.view addSubview:[[UIViewalloc]init]];
[self.view addSubview:_collectionView];