UIScreen.main.bounds是不是边到边?

时间:2019-05-28 12:48:02

标签: ios uiscreen

我有一个相对简单的问题,但是我似乎找不到任何答案。当我使用时:

UIScreen.main.bounds.height

这是否使我从屏幕的底部边缘一直到顶部或直到安全区域的高度?例如。是直到iPhone X的凹口或它完全超过凹口为止的高度。

1 个答案:

答案 0 :(得分:2)

  

仅是直到iPhone X的凹口为止的高度,或者它一直超过凹口

您可以轻松地自己检查。在任何iOS项目中的某处设置断点,并查看应用在您感兴趣的设备上运行时boundsnativeBounds返回的矩形的主屏幕。 iPhone X:

(lldb) po [[UIScreen mainScreen] bounds]
(origin = (x = 0, y = 0), size = (width = 375, height = 812))

(lldb) po [[UIScreen mainScreen] nativeBounds]
(origin = (x = 0, y = 0), size = (width = 1125, height = 2436))

您可以根据Apple's documentation中为屏幕报告的尺寸进行检查:

portion of display table

我假设bounds返回主屏幕的矩形代表整个屏幕,而不仅仅是安全区域。但是,如果您仍然不相信,则可以编写几行代码来绘制具有这些尺寸的矩形,并且您会发现凹口和拐角会遮盖矩形的一部分:

part of a rectangle drawn at the screen bounds