iphone - 将通用应用程序作为缩放的 iPhone 应用程序运行?

标签 iphone ios ipad ios-universal-app

我已经看到了大量关于将 iPhone 和 iPad 应用程序合并为通用应用程序的问题和答案,但这不是我想要做的。我要做的是在应用程序购买中使用解锁 iPad 界面,然后使用条件显示正确的界面。如果购买了界面,应用程序会显示 iPad Nib,如果没有,它会以与 iPhone 应用程序相同的方式显示(带有缩放应用程序的选项等)。条件非常简单,我已经实现了它们,但是我遇到的问题是:如果没有购买 IAP,iPad 会显示 iPhone Nib,但不是以典型方式。它就在角落,没有缩放它的选项,而不是在您通常看到的带有黑色边框的中心。有谁知道我可以如何设置它以便我解决这个问题?老实说,我有点难过。

最佳答案

Info.plist iOS 应用程序中的文件包含一个 key UIDeviceFamily ,其中列出了应用 native 支持的设备。如果键的值为 1 或包含 1 的数组,则应用程序原生支持 iPhone 和 iPod Touch。如果值为 2 或包含 2 的数组,则应用程序原生支持 iPad。

如果 UIDeviceFamily表示该应用程序支持 iPad,然后它将以原生 iPad 模式运行该应用程序,而不是 iPhone 包装模式。
Info.plist文件是您的应用程序包的一部分,您无法修改应用程序包中的文件。

因此,无法在运行时启用或禁用系统的 native iPad 支持。您必须将应用程序的顶级 View 移动到将其 subview 居中和缩放的包装器 View 中,并将该包装器 View 用作 UIWindow的 subview 。

UIDeviceFamily in the Information Property List Key Reference

关于iphone - 将通用应用程序作为缩放的 iPhone 应用程序运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10804047/

相关文章:

ios - 'NSInvalidArgumentException',原因 : 'data parameter is nil'

iOS - 没有重定向的 AppAuth

cocoa - iPad 键盘编程 - 几个问题

ios - 错误 ITMS-90680 : "The binary you uploaded was invalid.”

iphone - 两个 View Controller 之间viewDidAppear和viewDidDisappear的回调顺序

javascript - iPad Safari 上的 CSS3 转换缩放问题

iphone - 在被遮挡时激活接近监控以关闭 iPhone 屏幕

iphone - Objective C - 访问普通 C 数组

iphone - 仅更改 UIButton 上 UIFont 的大小

ios - 更新 NSManagedObject 导致 NSFetchedResultsController 删除