我想在我的 iPhone 应用程序中使用不同的图像,具体取决于当前设备是 iPhone 3G、iPhone 4 还是 iPad。我尝试获取设备的屏幕分辨率(大小),但对于不同的 iPhone,它总是返回 320 X 480。
如何确定我正在运行哪种类型的设备,以便提供正确的图像?
我不想获得 iPhone OS 版本。
我想在我的 iPhone 应用程序中使用不同的图像,具体取决于当前设备是 iPhone 3G、iPhone 4 还是 iPad。我尝试获取设备的屏幕分辨率(大小),但对于不同的 iPhone,它总是返回 320 X 480。
如何确定我正在运行哪种类型的设备,以便提供正确的图像?
我不想获得 iPhone OS 版本。
很可能不需要执行您尝试执行的操作,因为 iOS 已内置支持以适合 iPhone(视网膜和视网膜前分辨率)和 iPad 的大小加载图像。
阅读资源编程指南(特别是“在 iOS 中指定高分辨率图像”和“iOS 支持设备特定资源”部分)和iOS 应用程序编程指南以获取更多信息。
顺便说一句,视网膜前后 iPhone/Pod 的点分辨率均为 320 X 480。Apple 区分点大小(与分辨率无关)和像素大小以帮助解决问题。
如果您需要此信息来为您的分辨率选择合适的图形,那么 middaparka 的答案就是您要寻找的。
但是,如果您碰巧需要设备型号或分辨率信息用于不同的目的,那么 UIDevice 和 UIScreen 可能就是您想要的。
NSString *myDeviceModel = [[UIDevice currentDevice] model];
CGRect myScreenSize = [[UIScreen mainScreen] bounds].size;