2014-10-02 21 views
8

Come impostare corrispondente MYimage.png per MyimageView in Xcode 6 con ios 8.x compatibilità vs.iphone 6 iphone 5 immagine Naming Convention

MyimageView setImage:[UIImage imageNamed:@"MYimage.png"]; 

di risorse, sto avendo le seguenti immagini con risoluzioni:

MYimage.png--320*480 

[email protected]*960 

[email protected]*1136 

[email protected]*1334 

[email protected]*2208 

per l'iPhone 4s, si vede: [email protected] [Right]

per l'iPhone 5s, mostra: [email protected] [wrong]

Per iPhone 6, mostra: [email protected] [wrong]

Per iPhone 6 +, mostra: [email protected] [wrong]

Ma dopo la ridenominazione delle immagini come indicato di seguito:

MYimage.png--320*480 

[email protected]*960 

[email protected]*1136 

[email protected]*1334 

[email protected]*2208 

per l'iPhone 4s, mostra: [email protected] [Right]

per l'iPhone 5s, mostra: [email protected] [wrong]

per iPhone 6, si vede: [email protected] [wrong]

per iPhone 6 +, mostra: [email protected] [Right]

Quindi, qual è il formato indicato da implementare?

Nota: anche su Google dopo Links e così via ..

+0

Le notazioni delle dimensioni non devono essere prima dell'estensione .png? TBH, non ho mai nemmeno sentito parlare di notazioni sulle dimensioni per qualcosa di diverso dalle immagini di lancio. – brandonscript

+0

@remus È possibile elaborare 'notazioni di dimensioni'? –

risposta

9

iOS supporta solo le notazioni di formato per le immagini di lancio, per esempio this pagina si descrivono l'utilizzo per 3,5" , 4" , e iPads nel formato [email protected], ecc.

Ciò che in realtà è solo in grado di supportare è @ 2x e @ 3x (vedere here) che spiega il motivo per cui su ciascuno dei dispositivi che si sta vedendo solo i png @ 2x e @ 3x.

Infine, il [email protected]*h non è una denotazione di dimensione valida neanche; tali file non verranno letti automaticamente dal sistema quando si fa riferimento a un'immagine denominata MYimage.png; al massimo si potrebbe fare [email protected] e [email protected].

rispondere alla tua domanda di seguito:

iPhone 6 e iPhone 5 sia rendere alla stessa densità di pixel. Gli elementi dell'interfaccia utente devono essere posizionati correttamente nell'interfaccia utente con le stesse dimensioni dei punti su entrambi i dispositivi.

Ad esempio:

iPhone 5  iPhone 6 
|  |  |  | 
|  |  |  | 
|  |  |  | 
|[bttn]|  |  | 
|______|  | [bttn] | 
       |________| 

Se si sta visualizzando una foto in un UIImageView, però, si può semplicemente creare la dimensione più grande e lasciare che esso sia in scala verso il basso per l'iPhone 5 (usando UIViewContentModeScaleAspectFill) o lasciare così com'è (usando UIViewContentModeCenter).

Alla fine, è in realtà non si vuole dover gestire dimensioni specifiche per ogni singolo dispositivo là fuori - già se si includono 2 asset ad alta risoluzione per ogni elemento, questo è un sacco di spazio di archiviazione . L'aggiunta di uno per ogni dispositivo non è necessaria e Apple non ha mai pensato che fosse così.

+0

Quindi come utilizzare l'immagine di dimensioni diverse per iphone 5 e iphone 6. Il nome univoco di caricamento (nativescale) è l'unica soluzione? –

+0

Vedere la modifica per rispondere. – brandonscript

+0

"iOS supporta solo le notazioni sulle dimensioni per le immagini di avvio" - questo non è vero. Se chiami '[UIImage imageNamed: @" foo "]', iOS caricherà foo.png, [email protected], foo ~ ipad.png o [email protected]~ipad.png, in base alla piattaforma. Come dici tu, Avvia immagini supporta anche 'Default-536h @ 2x.png' (4"/iPhone5) – Olie

9

Non è necessario specificare la dimensione dello schermo per l'immagine, ma solo la densità.

ci sono 3 gruppi di densità:

  • 1x: iPhone 3GS e precedenti; iPod Touch 3rd gen e precedenti; iPad 2 e precedenti; iPad Mini 1st gen;
  • 2x: iPhone 4, 4S, 5, 5S e 6; iPod Touch 4a e 5a generazione; iPad 3 e successivi; iPad Mini 2nd gen;
  • 3x: iPhone 6 Plus;

Ad ogni gruppo, è necessario aggiungere un'immagine denominata con il modello "[email protected]", in cui la densità può essere omessa per 1x.

Esempi:

Per un migliore utilizzo e l'organizzazione delle risorse di immagine, si dovrebbe considerare l'utilizzo di Asset Catalogs. Ti aiuteranno anche a capire quali dimensioni di immagine ti serviranno in base ai dispositivi che sosterrai e non dovrai preoccuparti di ogni singolo nome di file.

+0

iPhone SE, iPhone 6S, 7 dovrebbero essere aggiunti al gruppo 2x, mentre iPhone 6S Plus e 7 Plus, insieme a iPad Pro, dovrebbero essere aggiunti al gruppo 3x. – Raptor

Problemi correlati