2015-10-22 39 views
13

C'è un images.xcassets nel mio progetto, contiene una cartella icons e due sottocartelle (firstFolder, secondFolder) con immagini. Entrambe le mie sottocartelle hanno lo stesso numero di icone e lo stesso nomi di icone (per diversi temi della mia app).Catalogo delle risorse: accesso alle immagini con lo stesso nome in diverse cartelle

Quindi quello che sto cercando: Ho bisogno di ottenere l'icona necessaria (per tema corrente) dal mio pacchetto.

Ho cercato di fare qualcosa di simile:

NSBundle* bundle = [NSBundle bundleForClass:[self class]]; 
NSString *imageName = [bundle.bundlePath stringByAppendingPathComponent:@"icons/firstFolder/neededIcon"]; 

Non funziona.

+0

Si prega di fare un uso eccessivo formattazione non in grassetto. È molto difficile per gli occhi. – dandan78

+0

Ok, ho capito. Grazie. –

risposta

33

Clicca su ogni cartella nelle attività di catalogo e selezionare Provides Namespace nella Vista Utilities:

enter image description here

vedrete che la cartella poi diventa blu e si può vedere il percorso per l'immagine sopra le immagini .

È quindi possibile accedere all'immagine in questo modo:

imageView.image = UIImage(named: "folder1/Image") 

o in Objective-C:

imageView.image = [UIImage imageNamed:@"folder1/Image"]; 
+0

In realtà per Objective-C dovrebbe essere smth come questo: imageView.image = [UIImage imageNamed: @ "icons/firstFolder/neededIcon"]; –

+0

Il percorso dipende dalla struttura della cartella utilizzata nel catalogo degli asset. Ho usato il percorso che si adatta allo screenshot qui sopra. Aggiungerò uno snippet Objective-C alla mia risposta – joern

+0

Grazie. Bella risposta! –