6

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

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

我不想获得 iPhone OS 版本。

4

3 回答 3

10

很可能不需要执行您尝试执行的操作,因为 iOS 已内置支持以适合 iPhone(视网膜和视网膜前分辨率)和 iPad 的大小加载图像。

阅读资源编程指南(特别是“在 iOS 中指定高分辨率图像”和“iOS 支持设备特定资源”部分)和iOS 应用程序编程指南以获取更多信息。

顺便说一句,视网膜前后 iPhone/Pod 的分辨率均为 320 X 480。Apple 区分点大小(与分辨率无关)和像素大小以帮助解决问题。

于 2011-01-31T20:08:32.727 回答
7

如果您需要此信息来为您的分辨率选择合适的图形,那么 middaparka 的答案就是您要寻找的。

但是,如果您碰巧需要设备型号或分辨率信息用于不同的目的,那么 UIDevice 和 UIScreen 可能就是您想要的。

NSString *myDeviceModel = [[UIDevice currentDevice] model];
CGRect    myScreenSize  = [[UIScreen mainScreen] bounds].size;
于 2011-01-31T20:07:23.513 回答
1

我认为下面一个解决了我的问题

https://github.com/erica/uidevice-extension/blob/master/UIDevice-Hardware.m

谢谢

于 2011-02-01T06:22:07.300 回答