2012-08-23 296 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

相關問題