web-dev-qa-db-ja.com

アセットカタログ:異なるフォルダーにある同じ名前の画像にアクセスする

私のプロジェクトにはimages.xcassetsがあり、iconsフォルダーと2つのサブフォルダー(firstFoldersecondFolder)と画像が含まれています。両方のサブフォルダーに同じ数のアイコンがあり、同じアイコン名(アプリのテーマが異なる場合)。

だから私が探しているのは:バンドルから(現在のテーマに)必要なアイコンを取得する必要があるということです。

私はこのようなことをしようとしました:

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

それは動作しません。

21
Alexey Pelekh

アセットカタログの各フォルダをクリックし、ユーティリティビューでProvides Namespaceを選択します。

enter image description here

フォルダが青色になり、画像の上に画像へのパスが表示されます。

次に、次のように画像にアクセスできます。

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

またはObjective-Cの場合:

imageView.image = [UIImage imageNamed:@"folder1/Image"];
59
joern