Ho quasi finito con la versione per iPhone della mia app quando ho capito che dovrò (probabilmente?) Scrivere condizionali per ogni elemento dell'interfaccia utente perché usano una grafica diversa. Questo renderà il mio codice molto disordinato. Ho 15 diversi controlli personalizzati dell'interfaccia utente e non riesco a immaginare che impostare un condizionale ("se ipad carica image_ipad, se iphone carica image_iphone") per ogni metodo sia il modo migliore per farlo. Qualcuno può suggerire una tecnica particolare per affrontare questo? O c'è un modo per nominare le immagini come è possibile tra retina e regolare?Come minimizzare il codice quando si utilizzano immagini diverse per iPad e iPhone?
risposta
Avrai bisogno solo di passare il nome dell'immagine di base .. diciamo che il nostro nome immagine è "Apple.png" ,, quindi scrivi il nome dell'immagine get come questo UIImage *image = [UIImage ImageNamed:@"Apple.png"]
e il nome dell'immagine per i seguenti casi sarà:
1. iPad> mettere ~ ipad, nome dell'immagine sarà "Apple~ipad.png"
2. iPhone> mettere ~ iphone, nome dell'immagine sarà "Apple~iphone.png"
3.for retina visualizzazione> metti @ 2x, il nome dell'immagine sarà "[email protected]"
4.se hai diffrenet immagine per retina diplay per iPad e iPhone sarà come questo ,, per iPad "[email protected]~ipad.png"
,, per iPhone "[email protected]~iphone.png"
Se è il nome in questo modo iOS in grado di rilevare il nome migliore immagine partita e caricarla.
sembra una risposta legittima –
Grazie. Questa è una risposta molto utile. – frankie
Se si desidera avere versioni per retina e non retina, è sufficiente salvare due versioni della risorsa nel pacchetto. Se il tuo asset è chiamato button.png risparmi:
-button.png per la versione non retina. [email protected] per la versione del display retina.
tuo codice:
UIImage * myImage = [UIImage imageNamed:@"button.png"];
Il sistema controlla automaticamente per la @ 2x.png se retina o si riprenderà l'altra per non retina
È possibile inserire myImage nella vostra interfaccia utente personalizzata, e il sistema operativo fa il resto per te ;-)
- 1. Applicazioni per iPhone e iPad Lanciare immagini
- 2. Convenzione di denominazione delle immagini per iPad/iPhone universale?
- 3. iPhone e Ipad: come si esegue il fork di un codice?
- 4. differenze nello sviluppo per iphone e ipad
- 5. Come configurare/installare il server MDM per iPhone e iPad
- 6. Qt per iPhone/iPad?
- 7. Immagini per display retina iphone 5
- 8. Migliore app per minimizzare codice javascript e codice css
- 9. JavaFX per iphone ipad
- 10. storyboard separate per iPhone/iPhone Retina/iPad/iPad Retina
- 11. Emulatore per iPhone, iPad e Mobile Browser
- 12. CGBitmapContextCreate su iPhone/iPad
- 13. Come differenziare iPhone e iPad nell'applicazione universale?
- 14. Risoluzione schermo iPhone e iPad
- 15. Come si usano immagini diverse, a seconda del tipo di dispositivo iOS?
- 16. Come creare la versione per iPhone e iPad di un'app?
- 17. iPhone e iPad fine scorrimento
- 18. è possibile fornire immagini diverse per UIImageView su classi di diverse dimensioni
- 19. Popover personalizzato per iPad/iPhone
- 20. Iphone/Ipad si blocca durante lo zoom
- 21. Menu contestuale iPhone/iPad
- 22. Dati principali sincronizzazione iCloud tra due app (iPhone e iPad)
- 23. SplitView per ipad e menu nel cassetto per iPhone
- 24. Diverse immagini a 9 patch per densità diverse?
- 25. Iphone/ipad sfondo immagine
- 26. Come evitare il codice spaghetti quando si utilizzano gli eventi di completamento?
- 27. App per iPhone e iPad Uso memoria reale e virtuale
- 28. La migliore pratica quando si utilizzano websockets?
- 29. iPad 2 Safari mostra testo e immagini in pixel pixellati
- 30. Stesso codice base per iPhone/Desktop app
perché non utilizzare i controlli standard che si ridimensionano automaticamente tra iPhone e iPad invece di creare controlli personalizzati? – melsam
Tutta la mia interfaccia utente è grafica personalizzata. Controlli UIKit, le mie immagini. – frankie
Perché hanno dimensioni diverse su iPad !? Quasi tutti i controlli UIKit hanno le stesse dimensioni su entrambi i dispositivi. Solo la barra di navigazione cambia altezza. – calimarkus