【发布时间】:2013-08-05 11:01:01
【问题描述】:
我遇到了一个奇怪的问题。我开发了一个针对具有 Retina 3.5 和 4 的 iPhone 设备系列的应用程序。我一直使用 iPhone 5 模拟器来测试所有 UI 和功能,一切都很好,但我知道我必须测试推送通知。我有 iPad 4(型号 MD522ZP/A)作为 iOS 6 设备。当我在它上面运行我的应用程序时,所有的 UI 布局都出错了。最奇怪的问题是当我尝试使用以下代码检查显示分辨率时:
NSLog(@"RESOLUTION = %@", NSStringFromCGSize([UIScreen mainScreen].bounds.size));
我得到了这个:RESOLUTION = {320, 480}。但它是 iPhone 3 分辨率!为什么 iPad 没有使用 Retina 3.5/4 分辨率?我该如何解决?我不想仅为 iPad 测试创建单独的 xibs,但我想在其上测试我的应用程序,以便所有 UI 元素都适合屏幕。
希望得到帮助。
【问题讨论】:
-
“我不想只为 iPad 测试创建单独的 xib”——这根本上是错误的。在 iPad 上以缩放模式运行仅限 iPhone 的应用程序是允许旧应用程序运行的一个拐杖。没有人应该开发原生不支持 iPad 的 新的 iOS 应用程序。
-
要正确运行,您必须在项目中为 ipad 创建单独的 xibs/storyboard。请参阅此链接,在通用应用部分:developer.apple.com/library/ios/#documentation/iPhone/…,否则 ipad 将继续模拟 iphone 设备
标签: iphone ios ipad cocoa-touch retina-display