添加到scrollview内容视图的最后一个视图位于home指示器后面

时间:2019-02-21 12:30:33

标签: ios swift autolayout scrollview subview

我有一个{<1}},其中包含一个 scrollView

scrollView 通过以下方式固定({0,0,0,0)到UIViewController上:

enter image description here enter image description here

viewController Safe Area的正文中,我向此 scrollView Content View 添加了一些视图。

我在iPhone 6模拟器中看不到任何问题,但是在iPhone X模拟器中发生了一些奇怪的事情:我添加到滚动视图中的最后一个视图部分位于 home指示器之后:

enter image description here

我错误地认为这是viewDidLayoutSubviews的问题solved

我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:1)

从iOS 11和新的iPhone X设备开始,转发这是safeAreaLayoutGuide的默认行为。

如果将底部锚点固定到安全区域,则诸如表视图和集合视图之类的滚动视图子类会自动处理此问题。

由于您是手动填充滚动视图,因此需要获取底部安全区域的高度,并使用该值插入滚动视图。

您可以这样做:

scrollView.contentInset.bottom = view.safeAreaInsets.bottom

答案 1 :(得分:0)

更改与superviewBottom相关的 ScrollView BottomConstraint,而不是safeArea。