32

在资产目录中,您可以创建文件夹。

在文件夹中,所有图像名称都必须是唯一的。

如果您有一个名为的图像myImage并且您尝试命名另一个图像myImage,那么它将自动重命名为myImage-1.

但是,如果您有两个文件夹,那么您可以在不同的文件夹中拥有相同名称的图像。

那么,一定有办法引用这些吗?

有谁知道如何通过资产目录中的文件夹和图像名称来引用图像?

4

2 回答 2

42

视觉说明

(基于 Xcode 10.1)

要让路径唯一标识资产目录图像,请将文件夹的“提供命名空间”属性设置为true.

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

在此处输入图像描述

*如果“Provides Namespace”为 ,则文件夹为黄色false

2) 确保 Inspectors 面板可见

在此处输入图像描述

3) 在 Inspectors 面板中,选择 Attributes Inspector。选中“提供命名空间”复选框。

在此处输入图像描述

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

在此处输入图像描述

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

let image = UIImage(named: "Icon/Menu")
于 2019-02-18T04:24:04.640 回答
31

我花了很多时间,但终于弄清楚了。在这里回答。复制如下。

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

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

"properties" : {
      "provides-namespace" : true
}
于 2015-09-29T21:55:43.653 回答