2017-09-23 29 views

回答

3

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

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

顶部区域是44分长,底面积为34分长。

要获得实际的像素尺寸将取决于设备的屏幕分辨率:

@ 1X =指出 @ 2X =点* 2 @ 3X =点* 3

+0

你怎么知道像素是44?当我打电话给safeareainsets.top它给了我88 –

2

的Xcode 9介绍safe-区域布局引导到界面构建器中。你可以通过进入你的故事板的文件检查器来打开它们,并且只要你在你的根视图中添加约束,你就可以选择将它约束到安全区域。 In this photo,橙色视图限制在安全区域的边缘,而蓝色视图限制在超级视图的边缘。

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

从那里,我们可以计算出44个像素分别为用于顶部安全区域,而底部区域使用34像素。

+0

你怎么知道像素是44?当我打电话给safeareainsets.top时,它给了我88 –

+1

@PabloMartinez获得88像素的原因是因为您的UI中有一个导航栏。保证安全区域布局指南不受任何其他UI元素(如导航栏或选项卡栏)的阻挡。欲了解更多信息,请参阅今年的WWDC上的[Interface Builder中的自动布局技术](https://developer.apple.com/videos/play/wwdc2017/412/)。 –

+0

你有没有类似的风景模式图片? –

0

TL;博士:

在肖像

  • 上:44pt
  • 底:34pt
  • 左/右:0pt

在景观

  • 上:0pt
  • 底:24PT
  • 左/右:44pt

来源:挖成20个资源这个尺寸和......实践中的iOS模拟器:)

相关问题