iOS 11: UICollectionView: 出现时发生滚动
iOS 11: UICollectionView: when appearing, scrolling happens
当我的 UIViewController 和里面的 UICollectionView 一起出现时,内容会向上滚动一点点。
我实施了 scrollViewDidScroll:
并且正在记录 contentOffset.y
:
-20.000000
-20.000000
0.000000
0.000000
这只发生在 iOS 11(模拟器和设备)上,而不发生在 iOS 10 或 iOS 9 上。还有其他人遇到过这种情况吗?
编辑 非常奇怪的事情:这只发生在未调用 viewDidLoad 时,例如当 UIViewController 已经存在并再次弹出时,但不是在第一次显示 UIViewController 时...
在iOS11中,contentInset.top可以在UIScrollView和子类(UICollectionView、UITableView)中添加,而状态栏、导航栏或其他内容出现在您的视图层次结构中。
此插图来自新的 adjustedContentInset 属性。 (文档:adjustedContentInset)
要删除这个额外的插图,请将 scrollView 上的内容插图调整设置为从不:
[self.myScrollView setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];
WWDC17 视频中的更多信息:Updating Your App for iOS 11 at 19'
当我的 UIViewController 和里面的 UICollectionView 一起出现时,内容会向上滚动一点点。
我实施了 scrollViewDidScroll:
并且正在记录 contentOffset.y
:
-20.000000
-20.000000
0.000000
0.000000
这只发生在 iOS 11(模拟器和设备)上,而不发生在 iOS 10 或 iOS 9 上。还有其他人遇到过这种情况吗?
编辑 非常奇怪的事情:这只发生在未调用 viewDidLoad 时,例如当 UIViewController 已经存在并再次弹出时,但不是在第一次显示 UIViewController 时...
在iOS11中,contentInset.top可以在UIScrollView和子类(UICollectionView、UITableView)中添加,而状态栏、导航栏或其他内容出现在您的视图层次结构中。
此插图来自新的 adjustedContentInset 属性。 (文档:adjustedContentInset)
要删除这个额外的插图,请将 scrollView 上的内容插图调整设置为从不:
[self.myScrollView setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];
WWDC17 视频中的更多信息:Updating Your App for iOS 11 at 19'