2014-06-10 11 views
14

Questo potrebbe sembrare sciocco, ma quando lavoro con le dimensioni in Xcode, la dimensione totale del fotogramma è uguale a 320 * 568 (larghezza * altezza). Sto bene con quello. Ma la risoluzione del telefono è in realtà diversa. L'iPhone 4S è 640 * 960 & il 5 e le generazioni successive sono 640 * 1136.Qual è l'unità di misura in Xcode

so l'ultimo è esattamente il doppio di quello che Xcode utilizza come unità, quindi la mia domanda è:

Quale unità di misura fa uso di XCode? Se è pixel, perché non utilizzare la dimensione/risoluzione del telefono come riferimento?

+0

Non so se ho risolto correttamente il problema, ma ho esteso la mia risposta per cercare di aiutarla meglio. –

risposta

15

Usa punti. Nei dispositivi retina, 1 punto equivale a due pixel. Nei dispositivi non retina, 1 punto equivale a 1 pixel.

Scopri la documentazione Apple sul disegno e la stampa su ios. https://developer.apple.com/library/ios/documentation/2ddrawing/conceptual/drawingprintingios/GraphicsDrawingOverview/GraphicsDrawingOverview.html#//apple_ref/doc/uid/TP40010156-CH14-SW7

specialmente la sezione "punti contro Pixel"

Modifica Per rispondere alla tua iphone 4S vs 5 e domanda di nuova generazione. Queste sono le dimensioni effettive dello schermo. Le risoluzioni sono diverse. Gli schermi iPhone 4S e 4 sono 320x480 punti o 640x960 pixel. Gli schermi di iPhone 5, 5C e 5S sono 320x568 punti o 640x1136 pixel. Se stai lavorando con xibs, potresti vedere una delle dimensioni precedenti perché xibs ha una dimensione definita. Ecco dove arrivano i vincoli del layout automatico. Nel xib o nello storyboard si dice come si desidera ridimensionare/spostare gli elementi sullo schermo. È possibile che si stiano utilizzando puntoni e molle per decidere come spostare gli elementi nella vista anziché il layout automatico. Va bene. Anche se il tuo xib/storyboard ha dimensione iphone5, se controlli la dimensione dello schermo nei tuoi metodi viewDidAppear quando esegui l'applicazione su un simulatore o dispositivo iPhone4/4S, vedrai che i tuoi limiti di visualizzazione hanno le dimensioni del dispositivo corrispondente . È preferibile utilizzare i punti anziché i pixel perché aiutano lo sviluppatore ad astrarre dalle risoluzioni. Non devi preoccuparti di quanti pixel sono un punto, basta individuare gli elementi nei punti dello schermo e lasciare che il sistema si occupi della risoluzione per te.

+0

Ho letto che punti vs pixel dipende dal rapporto PPP (punti per pixel) e 1 punto equivale esattamente a un pixel solo quando si utilizza 72 punti (perché un pixel = 1/72 di punto). Ecco perché ho deciso di escludere questa risposta in primo luogo. Ma immagino che il tuo link renderà tutto più chiaro per me ;-) –

+0

Per punti vs pixel e punti della stampante, vedi la mia risposta qui http://stackoverflow.com/questions/8687124/printers-points-vs-ios- punti/8687316 # 8687316 – jrturton

+0

Per completezza, ecco un altro che ho chiesto sull'argomento [(argomento) (https://stackoverflow.com/questions/22138078/what-are-the-units-of-constraint-points-in-autoloutout/22138205 # 22138205) –

Problemi correlati