2015-10-22 10 views
13

Es ist ein images.xcassets in meinem Projekt, es enthält einen icons Ordner und zwei Unterordner (firstFolder, secondFolder) mit Bildern. Beide meiner Unterordner haben die gleiche Anzahl von Symbolen und die gleichen Symbole Namen (für verschiedene Themen meiner App).Asset-Katalog: Greifen Sie auf Bilder mit demselben Namen in verschiedenen Ordnern zu

Also was ich suche: Ich brauche das benötigte Icon (für das aktuelle Thema) aus meinem Bundle.

Ich habe versucht, so etwas zu tun:

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

Es funktioniert nicht.

+0

Bitte nicht zu viele Fettformatierung. Es ist sehr schwer für die Augen. – dandan78

+0

Ok, ich habe es verstanden. Vielen Dank. –

Antwort

33

Klicken Sie auf jeden Ordner in den Assets katalogisieren und wählen Sie Provides Namespace in der Utilities-Ansicht:

enter image description here

Sie werden sehen, dass der Ordner dann blau wird, und Sie können den Pfad zum Bild über die Bilder sehen .

Sie können dann auf das Bild wie folgt aus:

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

oder in Objective-C:

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

Eigentlich sollte es für Objective-C wie folgt aussehen: imageView.image = [UImage imageNamed: @ "icons/firstFolder/needsIcon"]; –

+0

Der Pfad hängt von der Ordnerstruktur ab, die Sie in Ihrem Asset-Katalog verwenden. Ich habe den Pfad verwendet, der zu dem obigen Screenshot passt. Ich füge meiner Antwort ein Objective-C-Snippet hinzu – joern

+0

Danke. Gute Antwort! –