iphone 4 Simulator报告480x320作为屏幕尺寸?

时间:2010-07-05 08:52:57

标签: iphone ipad

我正在使用iPhone 4 Simulator调试应用程序。我从模拟器菜单中选择了它(device = iPhone 4)。当我运行应用程序时,屏幕大小报告为480x320 !! ??

我的这个应用程序是否有必要修改(最初为3G / 3gs构建)以便在iPhone 4上运行(是的,我已将所有艺术作品重新创建为960x640并且艺术作品在捆绑包上,但它将它缩小到一半大小...因为它在3G / 3GS模式下运行,而不是高分辨率。

运行

CGRect cgRect =[[UIScreen mainScreen] bounds];

将导致(0,0,480,320)。

任何线索?

感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:3)

iPhone正在进入分辨率独立性。这意味着事物不是以像素为单位,而是以点为单位。点并不总是与像素对应。

iPhone 3GS(和之前版本)的屏幕尺寸为480x320,两个点都是像素。它们在这些设备上对应,但在较新的设备(如iPhone 4)中却没有。

iPhone 4的屏幕尺寸为960x640像素,但其逻辑屏幕尺寸仍为480x320点。

这使您可以将帧,点和大小值保持为原始值,并且仍支持更大分辨率的设备。

在iPhone 4上,您需要在图像文件名称的某个位置使用@ 2x,它将在更高分辨率的设备上自动使用。

加载@ 2x图像时,它们将作为原始分辨率加载,但它们的尺寸属性减半,以便能够使用逻辑点测量。

例如,原始大小为960x640的图像会在要求时将其大小报告为480x320。

答案 2 :(得分:1)

而不是使用currentMode

CGSize pixelBufferSize = [[[UIScreen mainScreen] currentMode] size];

您将获得实际解决方案

相关问题