41

我已经阅读了iPhone X 的人机界面指南,它并没有具体说明“安全区域”(同时满足 iPhone X 的顶级和底部栏的区域)。我想知道这个区域的像素尺寸,包括从顶部和底部移除的尺寸。

4

5 回答 5

59

纵向

  • 顶部:44pt
  • 底部:34pt
  • 左/右:0pt

在风景

  • 顶部:0pt
  • 底部:21pt
  • 左/右:44pt

在此处输入图像描述

在此处输入图像描述

于 2018-03-08T13:23:03.977 回答
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

您可以safeAreaInsetsUIViewController.

于 2019-04-09T06:31:04.403 回答
0

您不需要调用 singleton UIApplication,也可以从您的视图布局中获取它们。

self.view.safeAreaInstes.(上、下、左、右)

于 2021-05-10T09:03:56.417 回答