为什么我的 UIScreen 的大小是 iPhone 本身大小的一半(以像素为单位)?

Why is the size of my UIScreen half the size of the iPhone itself(in pixels)?

所以我一直在 xCode 中编程,并且我通过打印 UIScreen.mainScreen().bounds.width/height 找到了放置 SKSpriteNodes 的位置。对于 iPhone 6,它打印 667 x 375,但是 iPhone 本身实际上是它的两倍,1334 x 750。这是为什么?

这是因为 iOS 中的大小是以点计算的 。根据您的屏幕像素密度,scale 为 1、2 或 3。

由于 iPhone 4 是 iPhone 3G 分辨率的两倍,但 UI 元素必须保持相同大小,因此 iPhone 4 设置为 scale of 2,所以如果你制作一个 50x50 的正方形,它在两个设备上显示的尺寸相同 即使 iPhone 4 正方形的真实尺寸是 100x100 .

iPhone 6 使用 2 的比例,iPhone 6 Plus 使用 3 的 scale。这个系统的美妙之处在于 你不需要必须管理对象的外观大小;如果您将尺寸设置为 50x50 点,它在所有设备上通常会保持相同的尺寸。