资产目录:访问不同文件夹中同名图像

25

我的项目中有一个 images.xcassets,它包含一个名为icons的文件夹和两个子文件夹(firstFoldersecondFolder),每个子文件夹里都有图片并且这些子文件夹中的图片数量和名称都相同(针对我的应用程序不同主题的图标)。

那么我正在寻找的是: 我需要从我的资源包中获取所需的图标(当前主题)。

我尝试过像这样做:

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

它不起作用。


请不要过度使用加粗格式。这对眼睛非常不好。 - dandan78
好的,我明白了。谢谢。 - Alexey Pelekh
1个回答

79

在资产目录中点击每个文件夹,然后在工具视图中选择提供命名空间

enter image description here

您会看到该文件夹变为蓝色,并且您可以在图片上方看到图片的路径。

然后您可以像这样访问图片:

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

或者在 Objective-C 中:

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

实际上,对于Objective-C来说,应该是这样的:imageView.image = [UIImage imageNamed:@"icons/firstFolder/neededIcon"]; - Alexey Pelekh
路径取决于您在资产目录中使用的文件夹结构。我使用了适合上面截图的路径。我会在我的答案中添加一个Objective-C代码片段。 - joern
1
谢谢。很棒的答案! - Alexey Pelekh
嗨@joern,你有没有想过如何计算文件夹1中存在的图像数量? - Shrikant K
嘿@ShrikantKankatti。我不知道是否可能,但如果你找到了方法,请告诉我们。 - joern

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接