当我在iPad上运行iPhone应用程序时,屏幕分辨率是错误的.如何解决这个问题?

Mai*_*r00 4 iphone cocoa-touch ipad ios retina-display

我遇到了一个奇怪的问题.我使用Retina 3.5和4开发了一个针对iPhone设备系列的应用程序.我一直使用iPhone 5模拟器来测试所有UI和功能,一切都很好,但我知道我必须测试推送通知.我有iPad 4(型号MD522ZP/A)作为iOS 6设备.当我在其上运行我的应用程序时,所有的UI布局都出错了.最奇怪的问题是当我尝试使用以下代码检查显示分辨率时:

NSLog(@"RESOLUTION = %@", NSStringFromCGSize([UIScreen mainScreen].bounds.size));
Run Code Online (Sandbox Code Playgroud)

我明白了:RESOLUTION = {320, 480}.但它是iPhone 3分辨率!为什么iPad没有使用Retina 3.5/4分辨率?我该如何解决?我不想xibs仅为iPad测试创建单独的,但我想在其上测试我的应用程序,以便所有UI元素都适合屏幕.

希望得到帮助.

rma*_*ddy 14

这没错.它正在做正确的事情.所有对尺寸的引用都是以点为单位,而不是像素.当你获得界限时,无论是否是视网膜,所有3.5英寸屏幕上都是320x480.在任何3.5英寸视网膜设备上试用.您将获得相同的日志输出.

在运行仅限iPhone的应用程序时,iPad不会模拟4英寸设备.它始终是3.5英寸iPhone兼容模式.

因此,看到320x480是正确的尺寸.

这样想吧.视网膜iPad将显示一个仅限iPhone的应用程序,就像它在3.5英寸视网膜iPhone上运行一样.非视网膜iPad将显示一个仅限iPhone的应用程序,就像它运行在3.5英寸非视网膜iPhone上一样.