【发布时间】:2013-09-18 02:52:12
【问题描述】:
是否可以将 PNG 文件以外的资产添加到 Xcode 资产目录?
当我将 JPEG 文件拖到资产目录中时,UI 不接受它们。
【问题讨论】:
是否可以将 PNG 文件以外的资产添加到 Xcode 资产目录?
当我将 JPEG 文件拖到资产目录中时,UI 不接受它们。
【问题讨论】:
您可以通过手动编辑资产的 JSON 表示来添加非 PNG 资产。最简单的方法是复制现有资产并对其进行修改:
.imageset 项目并将其重命名,例如my_image.imageset
.imageset
Contents.json 文件,将filename 键的值替换为您的JPEG 文件名您的Contents.json 将如下所示:
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x",
"filename" : "my_image.jpg"
},
{
"idiom" : "universal",
"scale" : "2x",
"filename" : "my_image@2x.jpg"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
请务必按名称引用您的图片,不带扩展名:
[UIImage imageNamed:@"my_image"]
这种方法适用于 GIF 和其他资产,因为它们只是在构建时被复制到应用程序的主包中。值得注意的是,图像在复制到包时最终会带有 png 扩展名,但它们仍然可以正确加载。
【讨论】:
identify test.png 显示 test.png JPEG 320x838 320x838+0+0 8-bit sRGB 10.4KB 0.000u 0:00.000 我的项目设置中确实将“压缩 PNG 文件”设置为 NO。
从 Xcode 6.1 开始,JPG 图像现在可以添加到资产目录中。添加的步骤是:
heart.jpgheart@2x.jpgheart@3x.jpg)以所需质量导出您的 JPG 文件【讨论】:
您现在可以在 Xcode 6.0 Beta 中拖放 JPEG
【讨论】:
在 Xcode 6.x 中,您可以将 jpeg 拖放到资产目录中。如果从资产创建 UIImage,请确保使用 .jpg 扩展名,如下所示:
[UIImage imageNamed:@"myimage.jpg"];
如果不包含扩展名,图像将显示为白色/空白。
【讨论】:
如果您不想更改 Contents.json 文件,也可以将 image.jpg 重命名为 image.png。然后,您可以将图像添加到资产目录,即使在内部它们仍然是 jpeg 文件。您甚至可以使用 Xcode 对它们进行切片。
编译应用程序时,所有资产都进入 Assets.car 文件。我尚未验证此时它们是否已转换为 png。
【讨论】:
试试这个。 快速导入资源脚本,解决导入速度和重命名问题。 https://github.com/qdvictory/happyxcasset
【讨论】: