我已经使用 swift 在我的应用程序顶部实现了一个 pageViewIndicator。我一直在我个人的 iPhone 上测试它,它一直有效,但是当使用 iPhone X 模拟器时,我注意到它消失在缺口后面,仅仅是因为我没有提到将它放在安全区域内或者安全区域是尚未正确配置。这是比较:
这似乎是一个简单的问题,但我目前还没有找到任何关于如何处理这个问题的适当支持:主要建议是调整 safeAreaInsets,但我不明白如何将其应用于 AutoLayout
功能。我已尝试向 pageController 添加 topAnchor 约束,但是否可以使用基本算术对其进行编辑?
pageControl.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true
最佳答案
不需要“调整”任何东西。安全区域的全部点是它的顶部在非 X iPhone 上的状态栏下方和 iPhone X 上的“缺口”下方。这就是安全区域的用途.
因此,只需将页面控件的顶部固定到安全区域的顶部即可。这是它在 iPhone 5s 模拟器上的样子:
这是它在 iPhone X 模拟器上的样子:
关于swift - 自动布局无法正确处理 iPhone X 缺口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48601005/