可能重复:
如何区分 iphone4 和 iphone 3
好吧,我知道所有@2x 的东西,并且已经阅读了关于视网膜显示和高分辨率支持的其他 stackoverflow 线程和苹果参考资料,但无济于事。
我正在从支持分辨率请求参数的远程服务器加载图像。对于 iPhone4,我想请求更大分辨率的图像。
如何测试我是否在 iPhone 4 上?
在 UIDevice 上使用“模型”字段不是一个选项,因为我在模拟器中没有得到正确的值。
可能重复:
如何区分 iphone4 和 iphone 3
好吧,我知道所有@2x 的东西,并且已经阅读了关于视网膜显示和高分辨率支持的其他 stackoverflow 线程和苹果参考资料,但无济于事。
我正在从支持分辨率请求参数的远程服务器加载图像。对于 iPhone4,我想请求更大分辨率的图像。
如何测试我是否在 iPhone 4 上?
在 UIDevice 上使用“模型”字段不是一个选项,因为我在模拟器中没有得到正确的值。
我将此代码用于类似目的。
// Return YES if we're running on a device with a retina display.
BOOL hasRetinaDisplay(void)
{
if([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
return [[UIScreen mainScreen] scale] == 2.0 ? YES : NO;
return NO;
}
这UIScreen
仅响应scale
可以在具有视网膜显示器的设备上运行的 iOS 版本,因此如果 UIScreen 不响应比例,那么我们知道默认情况下没有视网膜屏幕。如果是,那么检查它的比例因子,1.0 是没有视网膜显示器,2.0 是 iPhone4。