Posso mettere i file in Assets.xcassets
o posso mettere i file nei riferimenti di cartella (le cartelle blu). Quando dovrei scegliere l'uno rispetto all'altro?Riferimento del catalogo delle risorse o della cartella: quando utilizzare l'uno o l'altro?
risposta
Probabilmente si dovrebbe utilizzare cataloghi di asset come questo è quello che Apple vuole poter utilizzare in futuro (gli strumenti rifletteranno quello) e portano molti vantaggi:
App assottigliamento
Impostazione delle proprietà degli asset senza codice, ad esempio, modalità di rendering o affettare
Non c'è bisogno di ricordare le convenzioni di denominazione come
@2x
,~ipad
,-568
ecc per ottenere risorse specifiche del dispositivo automaticamentecataloghi Asset faranno notare beni mancante se spuntare le caselle di destra per le versioni e voi dispositivi supporto, e forniscono una bella panoramica
si dovrebbe abituarsi a loro come alcune piattaforme (ad esempio, watchos) richiedono l'utilizzo di cataloghi di asset
ci sono pochi Avvertenze:
Se si distribuisce tornare a iOS 6, alcune caratteristiche don't work as expected - cataloghi di asset ancora aiutano a organizzare i vostri beni, ma le caratteristiche di runtime non funzionerà come Xcode sarà solo il dump dei file di immagine in pianura il vostro pacco.
Se si distribuisce su iOS 7 o versioni successive, Xcode compilerà tutte le risorse in un file
.car
(è l'intera idea). Tuttavia, può essere più difficile eseguire il debug perché non è possibile esaminare il file compilato e significa anche che non è possibile ottenere semplicemente un URL di file da un singolo asset. Per creare un URL di file, devi sempre caricare la risorsa (dal suo nome) e scriverla prima sul disco.*
L'ultimo punto implica anche che non è possibile utilizzare le
NSBundle
(a Swift 3.0:Bundle
) API per recuperare gli URL o percorsi di file di immagini. Per caricare le risorse da un pacchetto diverso dal bundle principale, fai affidamento su Apple per fornire un'API, which they do since iOS 8.0. Se si organizza il codice condiviso in pacchetti di risorse e si esegue la distribuzione su iOS 7 o versioni precedenti, non utilizzare i cataloghi delle risorse.Questo è probabilmente per lo più rilevante se si intende sviluppare un framework.
*
ad esempio l'API CoreSpotlight consente di impostare un thumbnailURL
, ma se l'immagine è all'interno di un catalogo risorsa, è necessario scrivere su disco a parte voi stessi, o utilizzare la proprietà thumbnailData
. Se all'inizio avessi un URL di file, non dovrai mai caricare la risorsa in memoria. Non sono sicuro che Spotlight possa accedere agli URL dei file dal tuo pacchetto di app. È solo un esempio
È necessario utilizzare le risorse. Molti benefici i riferimenti delle cartelle non possono fare
1) Cambiare il colore delle immagini, senza alcun codice
2) Supporto vettore, pdf meglio.
3) Supporto Slicing image
.
4) Gestire risorsa più facile per autolayout. Se le tue risorse hanno 1x, 2x, 3x e ipad image size != iphone image size
, puoi aggiungere 6 file in 1 elemento attivo.
Si può leggere di più qui http://krakendev.io/blog/4-xcode-asset-catalog-secrets-you-need-to-know
- 1. Riferimento dell'immagine in una cartella nel catalogo delle risorse
- 2. Icone, Catalogo delle risorse e Info.plist confusione
- 3. Sicurezza della cartella delle risorse Android
- 4. Immagini nel database o nella cartella del progetto come risorse
- 5. Accesso al catalogo delle risorse a livello di programmazione
- 6. Come visualizzare un'immagine dal catalogo delle risorse nell'estensione di oggi?
- 7. Dimensioni icona app nel catalogo delle risorse Xcode
- 8. Come scrivere file nella cartella delle risorse o nella cartella raw in Android?
- 9. Xcode 6.1 Avviso sull'immagine di lancio nel catalogo delle risorse
- 10. Quando utilizzare (o non utilizzare) un delegato
- 11. Catalogo delle risorse dell'app principale copiato nell'estensione di oggi
- 12. Come utilizzare le immagini di lancio da un catalogo delle risorse nello storyboard di lancio?
- 13. Espresso: Come utilizzare le risorse R.string della cartella AndroidTest
- 14. Carica immagini dalla cartella delle risorse
- 15. Quando utilizzare NaN o +/- Infinity?
- 16. Quando utilizzare InvalidOperationException o NotSupportedException?
- 17. Il catalogo delle risorse della schermata di avvio di iOS non funziona
- 18. Copia file nella cartella delle risorse
- 19. Cartella delle risorse in Android Studio?
- 20. passa per valore o riferimento const o ...?
- 21. Quando utilizzare una query o un codice
- 22. Quando utilizzare Mapper o Record in Lift?
- 23. Android: accesso alle risorse senza attività o refeerence del contesto
- 24. Quando utilizzare gli attori locali o remoti?
- 25. Quando utilizzare TextFrame o TextFrame2 in VBA
- 26. Quando utilizzare os.name, sys.platform o platform.system?
- 27. Catalogo delle risorse: accesso alle immagini con lo stesso nome in diverse cartelle
- 28. Quando utilizzare lato client o lato server?
- 29. (UWP) Recupero di file xml dalla cartella delle risorse
- 30. Esiste un tavolo o un catalogo di estetica per ggplot2?
dovresti ovviamente utilizzare le risorse da iOS 9, è stato introdotto App-slicing che ti consente di servire risorse di dimensioni specifiche su dispositivi diversi, riducendo quindi la dimensione dell'app e scarica la larghezza di banda – Shubhank