作者:瑩影貓貓05 | 来源:互联网 | 2023-01-21 15:05
当我的UIViewController内部出现UICollectionView时,内容会在出现时向上滚动一点.
我实施了scrollViewDidScroll:
,我正在记录contentOffset.y
:
-20.000000
-20.000000
0.000000
0.000000
这只发生在iOS 11(模拟器和设备)上,而不是iOS 10或iOS 9上.其他人遇到过这种情况吗?
编辑非常讨厌的事情:这只发生在未调用viewDidLoad时,例如,当UIViewController已经存在并再次弹出时,但不是在第一次显示UIViewController时...
1> vmeyer..:
在iOS 11中,contentInset.top可以添加到UIScrollView和子类(UICollectionView,UITableView)中,而状态栏,navigationBar或其他内容则显示在视图层次结构中.
此插件来自新的adjustContentInset属性.(doc:adjustedContentInset)
要删除此额外插入,请将scrollView上的内容插入调整设置为永不:
[self.myScrollView setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];
WWDC17视频中的更多信息:在19' 更新iOS 11应用程序
避免这样做.UIKit工程师特别要求不要这样做.参考:https://twitter.com/smileyborg/status/910656113653116928"而是使用additionalSafeAreaInsets来增加safeAreaInsets.或者设置负的contentInset来减少/否定adjustContentInset." https://twitter.com/smileyborg/status/910656175800119296
感谢您更新@LuisAscorbe.当然,您应该将scrollview内容边距调整为safeAreaInsets以使您的布局适应新的iPhone X.但是,有时您希望UIScrollView内容填满整个屏幕.