我已经阅读了iPhone X 的人机界面指南,它并没有具体说明“安全区域”(同时满足 iPhone X 的顶级和底部栏的区域)。我想知道这个区域的像素尺寸,包括从顶部和底部移除的尺寸。
问问题
40953 次
5 回答
19
通过使用以下代码打印当前窗口的安全区域插图,可以得到顶部和底部安全区域的点尺寸。
if #available(iOS 11.0, *) {
UIApplication.shared.keyWindow?.safeAreaInsets
// ...
}
在纵向中,顶部区域长44 点,底部区域长34 点。
由于 iPhone X 具有@3x分辨率,因此顶部区域的长度为132 像素,底部区域的长度为102 像素。
于 2017-09-23T07:52:13.727 回答
9
Xcode 9 在界面构建器中引入了安全区域布局指南。您可以通过进入情节提要的文件检查器并勾选标有“使用安全区域布局指南”的复选框来打开它们
每当您向根视图添加约束时,您都可以选择将其约束到安全区域。在这张照片中,橙色视图被限制在安全区域的边缘,而蓝色视图被限制在超级视图的边缘。
- 橙色视图的框架:(0.0, 44.0, 375.0, 734.0)
- 蓝色视图的框架:(0.0, 0.0, 375.0, 812.0)
从那里我们可以计算出顶部安全区域使用了 44 个点,而底部区域使用了 34 个点。
于 2017-09-23T07:53:12.670 回答
0
您可以safeAreaInsets
从UIViewController
.
于 2019-04-09T06:31:04.403 回答
0
您不需要调用 singleton UIApplication
,也可以从您的视图布局中获取它们。
self.view.safeAreaInstes.
(上、下、左、右)
于 2021-05-10T09:03:56.417 回答