是否可以将除PNG文件以外的资源添加到Xcode资产目录?
当我将JPEG文件拖到资产目录中时,UI不会接受它们。
答案 0 :(得分:46)
您可以通过手动编辑资产的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和其他资产,因为它们只是在构建时复制到App的主要包中。值得注意的是,图像在复制到捆绑包时会以png扩展名结束,但它们仍然可以正确加载。
答案 1 :(得分:33)
从Xcode 6.1开始,JPG图像现在可以添加到资产目录中。要添加的步骤是:
heart.jpg
heart@2x.jpg
heart@3x.jpg
)答案 2 :(得分:11)
现在您可以在Xcode 6.0 Beta
中拖放JPEG答案 3 :(得分:4)
在Xcode 6.x中,您可以将jpeg拖放到资产目录中。如果从资产创建UIImage,请确保使用.jpg扩展名,如下所示:
[UIImage imageNamed:@"myimage.jpg"];
如果未包含扩展名,则图像将显示为白色/空白。
答案 4 :(得分:1)
如果您不想更改Contents.json文件,也可以将image.jpg重命名为image.png。然后,您可以将图像添加到资产目录,即使它们内部仍然是jpeg文件。你甚至可以使用Xcode对它们进行切片。
编译应用程序时,所有资产都进入Assets.car文件。我还没有验证他们是否会转换为png。
答案 5 :(得分:0)
试试这个。 快速导入资源脚本以解决导入速度和重命名问题。 https://github.com/qdvictory/happyxcasset