我正在更新我的应用程序以使其适用于 iPhone X。除一个 View 外,所有 View 现在都可以正常工作。我有一个 View Controller ,它呈现一个覆盖整个屏幕的自定义 UIView。在我使用 UIScreen.main.bounds
在完成所有布局之前找出 View 的大小之前(我需要它来为 collectionView 放置正确的 itemSize)。我以为现在我可以做类似的事情
UIScreen.main.bounds.size.height - safeAreaInsets.bottom
以获得正确的可用大小。问题是,safeAreaInsets 返回 (0,0,0,0) 尝试使用 iPhone X(模拟器)。有任何想法吗?在其他 View 中,我得到了 safeAreaInsets 的正确数字。
谢谢!
最佳答案
我最近遇到了一个类似的问题,一旦触发 viewDidLoad,安全区域插图就会返回 (0, 0, 0, 0)。似乎它们的设置比 View 加载的其余部分稍晚。
我通过覆盖 viewSafeAreaInsetsDidChange 并在其中进行布局来绕过它:
override func viewSafeAreaInsetsDidChange() {
// ... your layout code here
}
关于ios - UIView 中的 safeAreaInsets 在 iPhone X 上为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47032855/