gpt4 book ai didi

ios - 以编程方式访问 Assets 目录

转载 作者:IT老高 更新时间:2023-10-28 11:20:27 31 4
gpt4 key购买 nike

我知道这是一项新功能,这可能是不可能的,但我希望能够使用 Assets 目录来组织我的 Assets ,但我以编程方式访问我的所有图像。我现在如何访问我的图像?我是否仍然像这样通过文件名访问它们:

[UIImage imageNamed:@"my-asset-name.png"];

Assets 目录似乎没有引用扩展名,所以如果没有“.png”,访问它会更有效吗?

我之所以要求而不是为自己进行测试是因为即使在删除了我的 Assets 和 Assets 目录,然后清理了构建文件夹之后,我仍然可以在我的应用程序中访问我的 Assets 。这使我无法在实现 Assets 目录时对其进行测试。

查看 Assets 目录后,我找到了每个 Assets 的“Contents.json”,其格式如下:

{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x",
"filename" : "my-asset@2x.png"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

我仍然不确定应该如何访问它,但也许这会有所帮助?

最佳答案

为了从 Assets 目录访问图像,您只需要访问 Assets 组的名称,无需任何扩展。

因此,如果您将名为 @"my-button@2x.png" 的图像添加到 Assets 目录,它将创建一个名为 my-button 的 Assets 组.

现在,您所要做的就是像这样访问图像:

// Objective-C
[UIImage imageNamed:@"my-button"];
// Swift
UIImage(named: "my-button")

此外,您可以通过重命名 Assets 组(不重命名图像)或更改其单个组件来编辑 Assets 组。这将允许您遵循更简单的命名约定,并在不同的 UIScreen scale 之间显示完全不同的 Assets ,而无需任何 scale 检查。

为了合并不同设备尺寸的图像,您可能需要在 Assets 目录组选项的“设备”子标题下切换它。 Here is an example of that toggle (available by right clicking the group).

关于ios - 以编程方式访问 Assets 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17052344/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com