在资产目录中,您可以创建文件夹。
在文件夹中,所有图像名称都必须是唯一的。
如果您有一个名为的图像myImage
并且您尝试命名另一个图像myImage
,那么它将自动重命名为myImage-1
.
但是,如果您有两个文件夹,那么您可以在不同的文件夹中拥有相同名称的图像。
那么,一定有办法引用这些吗?
有谁知道如何通过资产目录中的文件夹和图像名称来引用图像?
在资产目录中,您可以创建文件夹。
在文件夹中,所有图像名称都必须是唯一的。
如果您有一个名为的图像myImage
并且您尝试命名另一个图像myImage
,那么它将自动重命名为myImage-1
.
但是,如果您有两个文件夹,那么您可以在不同的文件夹中拥有相同名称的图像。
那么,一定有办法引用这些吗?
有谁知道如何通过资产目录中的文件夹和图像名称来引用图像?
(基于 Xcode 10.1)
要让路径唯一标识资产目录图像,请将文件夹的“提供命名空间”属性设置为true
.
1) 选择资产目录文件夹。
*如果“Provides Namespace”为 ,则文件夹为黄色false
。
2) 确保 Inspectors 面板可见
3) 在 Inspectors 面板中,选择 Attributes Inspector。选中“提供命名空间”复选框。
请注意,文件夹图标变为蓝色,表示“提供命名空间”为真。
在代码中引用图像时,请记住包含命名空间。
let image = UIImage(named: "Icon/Menu")
我花了很多时间,但终于弄清楚了。在这里回答。复制如下。
在资产目录中选择您要为其添加命名空间的每个文件夹。转到文件夹属性并在名称下选择“提供命名空间”。这应该为您的最终资产目录正确设置子目录。
您可以通过编辑每个文件夹的 Contents.json 手动执行此操作。您将使用正确的格式添加以下内容。
"properties" : {
"provides-namespace" : true
}