ios - iPhone XR 返回正确的 nativeBounds 但设备上的屏幕尺寸错误

标签 ios objective-c iphone ios12

我的项目针对 iOS - 11 及更高版本。它具有适用于具有适当尺寸的 XR 和 XS Max 的正确启动图像 Assets 。在模拟器上,我的应用程序在 XR 和 XS Max 上都能按预期运行。

但是,用户报告了真实设备上的 UI 问题。经过一番研究,在真实设备上看起来是这样的

[UIScreen mainScreen].nativeBounds.size

返回正确的值。但似乎设备本身认为它具有 iPhone X 屏幕尺寸(就像当我不使用正确的启动屏幕图像时)。在我看来,它返回错误的值

[UIScreen mainScreen].bounds.size

我相信这个返回的值就像它不是 iPhone XR 而是 iPhone X 一样。

有人遇到过这样的问题吗?

最佳答案

我遇到了同样的问题,我找到了原因。您可以在assets 中查看LaunchImage。有 iPhone XR 的图像吗?如果您没有 iPhone XR LaunchImage,XR 的屏幕尺寸将与 iPhone X 一起计算。因此为 XR 制作一个 LaunchImage。 希望这会有所帮助。

关于ios - iPhone XR 返回正确的 nativeBounds 但设备上的屏幕尺寸错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53264692/

相关文章:

ios - 从其他应用程序获取用户事件信息

javascript - 当没有公开 viewController 时,如何将 cocoapod 转换为 typescript ?

ios - 尽管文件位于 Documents 目录中,但资源路径返回 nil 文件路径

ios - 直接发到自己的墙上

objective-c - 将 NSPopUpButtonCell 与 NSTableView 一起使用

iphone - 具有不同值的 TableView 委托(delegate)方法中的索引路径

iphone - 将 iPhone 项目转换为 iPad 项目?

iphone - 将 PDF 文件导入到应用程序

ios - C4Movie 未加载

ios - iOS 10 中 setValue 后 CIFilter 未更新