添加到滚动视图内容视图的最后一个视图落后于主页指示器
Last view added to content view of scrollview goes behind the home indicator
我有一个 UIViewController
包含一个 scrollView。
scrollView 固定 (0,0,0,0) 到 Safe Area
,这样:
在 viewController viewDidLayoutSubviews
的正文中,我向 Content View 添加了一些视图这个 scrollView.
我在 iPhone 6 模拟器中没有发现任何问题,但在 iPhone X 模拟器中发生了一些奇怪的事情:我添加到滚动视图的最后一个视图部分落后于 home 指示器:
我错误地认为这是 Safe Area
的问题 solved。
我该怎么做才能解决这个问题?
更改与 superviewBottom 相关的 ScrollView BottomConstraint 而不是 safeArea。
从 iOS 11 和新的 iPhone X 设备开始,这是 safeAreaLayoutGuide 的默认行为。
如果您将底部锚点固定到安全区域,table 视图和集合视图等滚动视图子类会自动处理此问题。
由于您手动填充滚动视图,因此您需要获取底部安全区域高度并使用该值插入滚动视图。
你可以这样做:
scrollView.contentInset.bottom = view.safeAreaInsets.bottom
我有一个 UIViewController
包含一个 scrollView。
scrollView 固定 (0,0,0,0) 到 Safe Area
,这样:
在 viewController viewDidLayoutSubviews
的正文中,我向 Content View 添加了一些视图这个 scrollView.
我在 iPhone 6 模拟器中没有发现任何问题,但在 iPhone X 模拟器中发生了一些奇怪的事情:我添加到滚动视图的最后一个视图部分落后于 home 指示器:
我错误地认为这是 Safe Area
的问题 solved。
我该怎么做才能解决这个问题?
更改与 superviewBottom 相关的 ScrollView BottomConstraint 而不是 safeArea。
从 iOS 11 和新的 iPhone X 设备开始,这是 safeAreaLayoutGuide 的默认行为。
如果您将底部锚点固定到安全区域,table 视图和集合视图等滚动视图子类会自动处理此问题。
由于您手动填充滚动视图,因此您需要获取底部安全区域高度并使用该值插入滚动视图。
你可以这样做:
scrollView.contentInset.bottom = view.safeAreaInsets.bottom