gpt4 book ai didi

swift - 运行仅 iPhone 应用程序的 iPad 对应哪款 iPhone?

转载 作者:行者123 更新时间:2023-11-30 10:43:03 24 4
gpt4 key购买 nike

每隔一段时间,我的 iPhone 专用应用程序对于在 iPad 上运行的用户来说似乎会崩溃。

最近我在 globalinit 上发现了一份崩溃报告,指出该枚举类型的初始化,该类型在设计和尺寸方面被大量使用。

static var iPhone = IPhone(height: UIScreen.main.bounds.height)!

iPad 设备似乎与这些高度不匹配,因此 nil 会使应用程序崩溃(这是带有 iOS 11 的 iPad Air)。在模拟器上,当运行仅限 iPhone 的应用程序时,所有 iPad 设备似乎都对应于现有的 iPhone 尺寸。

enum IPhone: String {
case SE, normal, plus, X, XSMax

init?(height: CGFloat) {
switch height {
case 568: self = .SE
case 667: self = .normal
case 736: self = .plus
case 812: self = .X
case 896: self = .XSMax
default:
return nil
}
}
}

当然,我永远不想返回 nil,而是合并可能的 iPad 屏幕尺寸,这引出了一个问题:在运行我的应用程序时,iPad“模拟”哪款 iPhone?我最近读到,从 iOS 12 开始,iPad 将不再以 3/4 格式显示 iPhone 应用程序,而是以 16/9 格式显示。处理此问题的最佳方法是什么,以便运行此应用程序的任何 iPad 都符合我现有的设计之一?

最佳答案

下面的引用资料表明,在 iOS 12 之后,所有 iPhone 专用应用程序都将在具有 iPhone 6 分辨率的 iPad 上运行。将默认值更改为 self = .normal,我想您就可以开始了。

https://ioshacker.com/ipad/ios-12-improves-experience-of-using-iphone-apps-on-ipad

关于swift - 运行仅 iPhone 应用程序的 iPad 对应哪款 iPhone?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56393247/

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