gpt4 book ai didi

ios - 真正的 iPhone XR 屏幕分辨率与 swift 给出的屏幕分辨率不同?

转载 作者:行者123 更新时间:2023-11-28 11:39:21 24 4
gpt4 key购买 nike

iPhone XR 屏幕分辨率根据屏幕截图、苹果网站等:

828x1792

根据 Swift 的 iPhone XR 屏幕分辨率:

375x812(或 750x1624)

为什么以及如何处理?!

注意:所有 iphone Xx 都可以正常工作,除了这个 - iphone XR(+iphone XR 模拟器)

最佳答案

有两个不同的概念:UIKit 大小 native 分辨率

UIKit 大小由 表示,当您在项目中定位 View 时使用。假设您的屏幕大小为 414x896 点,并且您将 View 居中放置在 [207,448] 位置,您的 View 将位于屏幕中央。

原始分辨率由像素表示,它表示设备屏幕有多少像素。您可以通过将 UIKit 大小乘以 Native Scale factor 来获得设备的原始分辨率,这对于每个设备都是独立的。

我为所有支持 iOS 12 的 iPhone 的这些尺寸、sclae 因子和分辨率创建了表格

iPhone       | UIKit size (points) | Native resolution (pixels) | Native Scale factor
-------------|---------------------|----------------------------|--------------------
Xs Max | 414x896 | 1242x2688 | 3
X, Xs | 375x812 | 1125x2436 | 3
Xr | 414x896 | 828x1792 | 2
6+,6s+,7+,8+ | 414x736 | 1080x1920 | 2.608
6,6s,7,8 | 375x667 | 750x1334 | 2
5s,SE | 320x568 | 640x1136 | 2

...从这张表中您可以看到您的 iPhone Xr 的 UIKit 尺寸为 414x896,而不是您在问题中所写的 375x812

您可以通过获取屏幕的边界来获取设备的 UIKit 大小

UIScreen.main.bounds

和通过获取原生边界的原生分辨率

UIScreen.main.nativeBounds

...这些中的每一个都适用于 iPhone Xr,因此请再次检查您的代码是否在 iPhone Xr 上运行,而不是在 UIKit 大小 375x812 的 iPhone Xs/X 上运行。此外,这个 750x1624 只是 Xr 原生分辨率的一些奇怪比例,所以请检查你是否没有做任何额外的数学运算。

关于ios - 真正的 iPhone XR 屏幕分辨率与 swift 给出的屏幕分辨率不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54148009/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com