【发布时间】:2017-09-18 03:28:14
【问题描述】:
我有一个包含 2 个子 viewController 的 scrollView。您可以看到 VC2 的布局不正确。
我发现屏幕上是否还看不到视图。
safeAreaInsets 始终为 0。
滚动结束时,我可以致电vc2.view.setNeedsLayout() 解决此问题。
但是在滚动结束之前布局是不正确的。
document 说
如果视图当前未安装在视图层次结构中,或者未安装 但在屏幕上可见,此属性中的边缘插图为 0。
那么我该如何解决这种情况。
【问题讨论】:
-
您需要提供更多信息,向我们展示“VC1 Bottom”和“VC2 Bottom”的约束是什么样的。它们完全一样吗?
-
是的。它们是相同的约束中心到安全区域和底部到安全区域。
-
您是否厌倦了将
vc2.view.setNeedsLayout()放入viewDidLayoutSubviews()或类似的东西? (通过适当的测试来防止潜在的无限循环) -
viewDidLayoutSubviews()是一样的。当视图不在屏幕上时,安全区域始终为 0。 -
找到任何解决方案?我有同样的问题,针对 iOS10 我不能使用
safeAreaInsets
标签: ios xcode autolayout iphone-x