在资产目录中通过它们的组区分图像

12

有没有办法使用资产目录组来有效地为具有相同名称的多个图像加上命名空间呢?

例如,如果我有多个名称为Foo的图像处于不同的组中,是否有一种方法可以使用imageNamed:指定我想要的图像(即类似于UIImage(named:"Group1.Foo"))。

显然,我可以自己为所有图像创建唯一的名称,但如果能利用组来实现这一点就更好了。

2个回答

13

选择资产目录中您想要添加命名空间的每个文件夹。进入文件夹属性,在名称下选择“提供命名空间”。这应该正确设置最终资产目录的子目录。

您可以通过编辑每个文件夹的Contents.json来手动执行此操作。您需要使用适当的格式添加以下内容。

"properties" : {
      "provides-namespace" : true
}

12

视觉指南

(基于Xcode 10.1)

1)选择资源目录文件夹。

enter image description here

*如果“提供命名空间”为false,则该文件夹为黄色。

2)确保检查器面板可见。

enter image description here

3)在检查器面板中,选择属性检查器。勾选“提供命名空间”复选框。

enter image description here

请注意,文件夹图标变为蓝色,表示“提供命名空间”为true。

enter image description here

在代码中引用图像时,请记得包括命名空间。

let image = UIImage(named: "Icon/Menu")

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