什么是安全区域'对于iPhone X(以像素为单位),它会影响顶级和底部条形?

时间:2017-09-23 06:45:15

标签: ios iphone-x

我已阅读Human Interface Guidelines for iPhone X,并未明确说明安全区域' (适用于iPhone X上顶部和底部条的区域)。我想知道这个区域的像素尺寸,包括从顶部和底部移除的尺寸。

5 个答案:

答案 0 :(得分:26)

TL; DR:

纵向

  • 上:44pt
  • 下图:34pt
  • 左/右:0pt

在风景中

  • 上:0pt
  • 下:24pt
  • 左/右:44pt

资料来源:挖掘20个关于这个维度的资源和......在iOS模拟器中的实践:)

答案 1 :(得分:14)

使用以下代码打印当前窗口的安全区域插图,可以获得顶部和底部安全区域的点尺寸。

if #available(iOS 11.0, *) {
    UIApplication.shared.keyWindow?.safeAreaInsets
    // ...
}

在纵向中,顶部区域 44点长,底部区域 34点长。

由于iPhone X的分辨率为 @ 3x ,因此顶部区域的长度为 132像素,底部区域的长度为 102像素

答案 2 :(得分:7)

Xcode 9在界面构建器中引入了安全区域布局指南。您可以通过进入故事板的文件检查器和ticking the checkbox labelled "Use Safe Area Layout Guides"

来打开它们

每当您向根视图添加约束时,您都可以选择将其约束到安全区域。 In this photo,橙色视图被约束到安全区域的边缘,而蓝色视图被约束到超视图的边缘。

  • 橙色视图框架:(0.0,44.0,375.0,734.0)
  • 蓝色视图框架:(0.0,0.0,375.0,812.0)

从那里我们可以计算出44个点用于顶部安全区域,而34个点用于底部区域。

答案 3 :(得分:0)

您可以从safeAreaInsets中视图的UIViewController属性中获取它。

答案 4 :(得分:0)

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

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