print(UIScreen.main.currentMode?.size) // 750 * 1624
print(UIScreen.main.bounds.size) // 375 * 812
print(UIScreen.main.nativeBounds) // 828 * 1792
我使用启动情节提要。
答案 0 :(得分:1)
摘自Apple文档
UIScreen.main。nativeBounds: 物理屏幕的边界矩形,以像素为单位。
UIScreen.main。bounds: 屏幕的边界矩形,以点为单位。
UIScreen.main.bounds。size 屏幕尺寸,以像素为单位。
iOS上的像素是设备的完整分辨率,这意味着如果我的图像长度为100x100像素,那么手机将在标准的非视网膜设备上将其渲染为100x100像素。但是,由于较新的iPhone具有四倍的像素密度,因此同一图像将以100x100像素渲染,但看起来只有该尺寸的一半。 iOS工程师很久以前(使用Quartz在OS X中使用Quartz)解决了这一问题,当时他们引入了Core Graphics的标记系统。点是相当于非视网膜设备上1x1像素和视网膜设备上2x2像素的标准长度。这样一来,您的100x100图像将在视网膜设备上呈现两倍大小的图像,并基本上将用户看到的图像标准化。
它还提供了iOS设备上的标准测量系统,因为无论像素密度如何变化,iPhone屏幕上始终有320x480点,而iPad屏幕上始终有768x1024点。*