2012-06-20 2 views
5

Durante il test sul mio iPad 3,Perché la [[scala UIScale mainScreen]] su un iPad 3 con Xcode 4.2?

[[UIScreen mainScreen] scale] == 1.0 

mia comprensione è che questo dovrebbe essere 2.0.

Sto utilizzando l'SDK di iOS 5.1 con Xcode 4.2 su Snow Leopard, che capisco non è una configurazione "ufficialmente supportata". Tuttavia, non riesco a immaginare perché ciò possa influire su ciò che accade semplicemente sul dispositivo. (Posso immaginare tutti i tipi di modi per rompere il simulatore.)

+0

Stai creando un'app universale/solo iPad? –

+0

solo per iPad. (15 caratteri) –

+1

Ok, avrei potuto vedere un possibile problema se solo iPhone. –

risposta

4

Prima di XCode versione 4.3, [scala UIScreen] restituirà 1.0 per un iPad 3. Aggiornamento a 4.3 consentirà il corretto valore di 2,0 da restituire.

-3

Questo perché lo schermo non è ridimensionato. È possibile ottenere il rapporto in questo modo:

[[CCDirector sharedDirector] winSize].width/[[CCDirector sharedDirector] winSizeInPixels].width 

Se questo è uguale a 1, allora siete su un dispositivo non-retina. Altrimenti, se 2, su un display retina. Inoltre, non dimenticare di abilitare il supporto per la retina.

saluti,

George

+0

"Inoltre, non dimenticare di abilitare il supporto per la retina." L'intero problema è che cocos2d non è abilitato al supporto della retina e non lo abilita perché controlla la visualizzazione della retina usando la scala dello schermo. –

+0

@Noah Witherspoon - leggi i commenti sopra - l'utente che ha posto la domanda dice che usa cocos2D. – George