2012-08-23 162 views
0

我使用规模< 1.1> 1.9低分辨率和视网膜版本之间的区别:通用的iPhone,iPad的应用程序

if (([[UIScreen mainScreen] scale] < 1.1) {} 
if (([[UIScreen mainScreen] scale] > 1.9) {} 

我的问题:是具有规模< 1.1在低分辨率和所有ipad公司所有的iPhone在低分辨率下有< 1.1的比例?

所有iPhone的规模> 1.9视网膜和所有的ipad都有一个规模> 1.9视网膜?

它似乎是这样,但有很多设备,我只是想确定。

+4

为什么不使用'== 1.0'和'== 2.0'? –

+0

蒂娜是对的。这就是规模的全部! 2.0 IS视网膜! – Sebrassi

回答

0

只要您可以依靠iOS 4.0或更高版本,您建议的将会正常工作。但正如其他人所指出的那样,您不需要检查小数位数。从UIScreen documentation

默认的逻辑坐标空间是使用点测量的,其中一个点大约等于1/160英寸。如果设备的屏幕具有相当相似的像素密度,则比例因子通常设置为1.0,以便一个点映射到一个像素。但是,具有明显不同像素密度的屏幕可能会将此属性设置为更高的值。

对于所有电流设备scale将返回1.0或2.0。

要注意的一个警告是在这个StackOverflow回答如何Detect Retina Display讨论。这是iPad运行的原始版本,它没有scale属性。如果你的目标是那么远,你需要考虑这一点,并假设你没有视网膜显示,如果UIScreen不响应scale

相关问题