【iOS 1 行代码系列】之 一行代码搞定automaticallyAdjustsScrollViewInsets


<----- 以下属于引用:

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


比如:

【iOS 1 行代码系列】之 一行代码搞定automaticallyAdjustsScrollViewInsets


所以,解决办法是:

不让它成为第一个!


在它 add 到父视图前,再添加一行代码,即可解决问题

这个方案,可以不考虑系统版本,甚至忽略 automaticallyAdjustsScrollViewInsets 

我的处理方式是:

[self addSubview:[[UIViewalloc]init]];

[self addSubview:_collectionView];

或者是

[self.view addSubview:[[UIViewalloc]init]];

[self.view addSubview:_collectionView];