iPhone XR returns 正确的 nativeBounds 但设备上的屏幕尺寸错误
iPhone XR returns correct nativeBounds but has wrong screen size on device
我的项目目标 iOS - 11 及更高版本。它具有适用于具有适当尺寸的 XR 和 XS Max 的正确启动图像资产。在模拟器上,我的应用程序在 XR 和 XS Max 上都按预期工作。
但是,用户在真实设备上报告了 UI 问题。经过一些研究,它看起来像在真实设备上
[UIScreen mainScreen].nativeBounds.size
returns 正确的值。但似乎设备本身认为它有 iPhone X 屏幕尺寸(就像我没有使用正确的启动屏幕图像一样)。在我看来 returns 错误的值
[UIScreen mainScreen].bounds.size
我认为这一款 returns 的价值不是 iPhone XR,而是 iPhone X。
有人遇到过这样的问题吗?
我遇到了同样的问题,我找到了原因。您可以在 assets 中查看 LaunchImage。有 iPhone XR 的图像吗?如果您没有 iPhone XR LaunchImage,XR 的屏幕尺寸将使用 iPhone X 计算。因此 制作一个XR 的 LaunchImage。
希望这有帮助。
iPhone XR 在(虚拟)点上使用的尺寸与 iPhone X 或 iPhone XS 不同。它使用与新的 iPhone XS Max 相同的点尺寸,但仅使用 @2x
而不是 @3x
渲染,就像 Max 一样(每英寸像素密度较低)。您可以阅读有关每个 iPhone 模型 here.
的屏幕尺寸、点数、渲染尺寸等的更多信息
XCAssets 中缺少的启动图像模板也会影响新一代 iPads,例如新的 iPad Pro 11" 与标准的 3/4 宽高比略有不同,其他 iPad 有。深入研究缺少模板问题让我从 2015 年开始 radar post缺少 iPad Pro App Icon 和 Launch Image 模板,评论指出:
[...] and Developer relations reported in a radar comment that they no longer support launch images and will not be adding the iPad pro launch image size to asset catalogs.
Apple 似乎不鼓励在 XCAssets 中使用启动图像,并建议改用 Launch Screen.storyboard
。根据使用的设备或模拟器,它将 "auto-size" 到正确的尺寸(以及 UIScreen.main.bounds
和 UIScreen.main.nativeBounds
的输出)。
就我而言,问题出在特定的用户设备设置上。
设置 -> 显示和亮度 -> 显示缩放开关打开。
这导致 return 错误
[UIScreen mainScreen].bounds.size
值运行时间
我的项目目标 iOS - 11 及更高版本。它具有适用于具有适当尺寸的 XR 和 XS Max 的正确启动图像资产。在模拟器上,我的应用程序在 XR 和 XS Max 上都按预期工作。
但是,用户在真实设备上报告了 UI 问题。经过一些研究,它看起来像在真实设备上
[UIScreen mainScreen].nativeBounds.size
returns 正确的值。但似乎设备本身认为它有 iPhone X 屏幕尺寸(就像我没有使用正确的启动屏幕图像一样)。在我看来 returns 错误的值
[UIScreen mainScreen].bounds.size
我认为这一款 returns 的价值不是 iPhone XR,而是 iPhone X。
有人遇到过这样的问题吗?
我遇到了同样的问题,我找到了原因。您可以在 assets 中查看 LaunchImage。有 iPhone XR 的图像吗?如果您没有 iPhone XR LaunchImage,XR 的屏幕尺寸将使用 iPhone X 计算。因此 制作一个XR 的 LaunchImage。 希望这有帮助。
iPhone XR 在(虚拟)点上使用的尺寸与 iPhone X 或 iPhone XS 不同。它使用与新的 iPhone XS Max 相同的点尺寸,但仅使用 @2x
而不是 @3x
渲染,就像 Max 一样(每英寸像素密度较低)。您可以阅读有关每个 iPhone 模型 here.
XCAssets 中缺少的启动图像模板也会影响新一代 iPads,例如新的 iPad Pro 11" 与标准的 3/4 宽高比略有不同,其他 iPad 有。深入研究缺少模板问题让我从 2015 年开始 radar post缺少 iPad Pro App Icon 和 Launch Image 模板,评论指出:
[...] and Developer relations reported in a radar comment that they no longer support launch images and will not be adding the iPad pro launch image size to asset catalogs.
Apple 似乎不鼓励在 XCAssets 中使用启动图像,并建议改用 Launch Screen.storyboard
。根据使用的设备或模拟器,它将 "auto-size" 到正确的尺寸(以及 UIScreen.main.bounds
和 UIScreen.main.nativeBounds
的输出)。
就我而言,问题出在特定的用户设备设置上。 设置 -> 显示和亮度 -> 显示缩放开关打开。 这导致 return 错误
[UIScreen mainScreen].bounds.size
值运行时间