iPhone 4.0屏幕分辨率和编写健壮代码

iPhone 4.0屏幕分辨率和编写健壮代码,iphone,objective-c,xcode,Iphone,Objective C,Xcode,有人知道在iPhone4.0上运行的现有应用程序在新的屏幕分辨率方面会发生什么吗?我假设,就像为iPad开发一样,代码中不应该有硬编码的屏幕分辨率 我还想得到关于编写健壮代码的最佳方法的建议,以便在任何设备上都能很好地工作。例如,检测屏幕分辨率是不够的——在iPad上,屏幕的物理尺寸更大,所以你可以在上面显示更多的项目。在新款iPhone上,屏幕的物理尺寸相同,但分辨率更高,所以很可能你不想显示更多的项目,只想显示更高分辨率的项目 任何帮助都是有用的 问候 戴夫 编辑:我读过其他类似的帖子,我想

有人知道在iPhone4.0上运行的现有应用程序在新的屏幕分辨率方面会发生什么吗?我假设,就像为iPad开发一样,代码中不应该有硬编码的屏幕分辨率

我还想得到关于编写健壮代码的最佳方法的建议,以便在任何设备上都能很好地工作。例如,检测屏幕分辨率是不够的——在iPad上,屏幕的物理尺寸更大,所以你可以在上面显示更多的项目。在新款iPhone上,屏幕的物理尺寸相同,但分辨率更高,所以很可能你不想显示更多的项目,只想显示更高分辨率的项目

任何帮助都是有用的

问候

戴夫


编辑:我读过其他类似的帖子,我想我真正想知道的是,为所有App Store设备以健壮的方式编写代码的推荐方法是什么,以便它们a)都能工作b)充分利用设备。

UIKit经过了重新设计,以便旧的应用程序在iPhone 4中可以不经修改地工作。然后你可以做一些事情,有些是编程的,有些只是通过向你的应用包中添加更高分辨率的图像

首先,最简单的是,你可以在名称中添加新的双分辨率图像,这些图像由你的应用程序使用,后缀为@2x。i、 e.,Event.png以及Event@2x.png. [UIImage ImageName:]将自动查找具有此后缀的文件(如果该文件以更高的分辨率运行)

所有其他UIKit工具现在都使用点而不是像素。因此,无论是旧的还是新的应用程序,全屏仍然是320 x 480点。这几乎意味着一切都将工作,包括触摸等,尽管它们现在可能返回分数点


到目前为止,唯一真正的问题似乎是如果你使用CGBitmapContextCreate,因为它使用像素并且需要一些拼凑。UIKit已经重新设计,以便旧的应用程序在iphone4中可以不经修改地工作。然后你可以做一些事情,有些是编程的,有些只是通过向你的应用包中添加更高分辨率的图像

首先,最简单的是,你可以在名称中添加新的双分辨率图像,这些图像由你的应用程序使用,后缀为@2x。i、 e.,Event.png以及Event@2x.png. [UIImage ImageName:]将自动查找具有此后缀的文件(如果该文件以更高的分辨率运行)

所有其他UIKit工具现在都使用点而不是像素。因此,无论是旧的还是新的应用程序,全屏仍然是320 x 480点。这几乎意味着一切都将工作,包括触摸等,尽管它们现在可能返回分数点

到目前为止,唯一真正的问题似乎是如果您使用CGBitmapContextCreate,因为它使用像素并需要一些技巧。