2011-01-31 66 views
6

我想在我的iPhone应用程序中使用不同的图像,具体取决于当前设备是iPhone 3G,iPhone 4还是iPad。我尝试过获取设备的屏幕分辨率(大小),但对于不同的iPhone,它总是会返回320 X 480。根据iOS设备类型的不同,我如何使用不同的图像?

如何确定我正在运行哪种类型的设备,以便我可以提供正确的图像?

我不想获得iPhone操作系统版本。

+8

什么毛病`@ 2x`命名方案对于高分辨率的图像? – BoltClock 2011-01-31 20:03:51

回答

7

如果你想要这个信息的目的是为你的决议选择适当的图形,那么middaparka的答案就是你要找的。但是,如果您碰巧需要设备模型或解决方案信息用于不同的目的,那么UIDevice和UIScreen可能就是您想要的。

NSString *myDeviceModel = [[UIDevice currentDevice] model]; 
CGRect myScreenSize = [[UIScreen mainScreen] bounds].size; 
+1

+1爱知道为什么这是downvoted - 这毕竟是“纯”的答案。 – 2011-01-31 20:31:03

10

有最有可能没有必要做你正在试图做的,因为iOS版已经内置加载图像支撑位为iPhone(视网膜和预视网膜分辨率)和iPad适当大小的东西。

阅读Resource Programming Guide(特别是“在iOS中指定高分辨率图像”和“iOS支持特定于设备的资源”部分)和iOS Application Programming Guide以获取更多信息。

顺便说一句,这两个前置和后置视网膜的iPhone /荚内有320 X 480苹果的分辨率磅(分辨率无关),像素尺寸为区分顺水推舟的方式。

+1

只是一个小小的更正 - iPad没有320x480的点分辨率,这只是更小的设备。 iPad的点分辨率为1024x768。 – 2011-01-31 20:28:16

相关问题