57

是否可以将 PNG 文件以外的资产添加到 Xcode 资产目录?

当我将 JPEG 文件拖到资产目录中时,UI 不接受它们。

4

6 回答 6

46

您可以通过手动编辑资产的 JSON 表示来添加非 PNG 资产。最简单的方法是复制现有资产并对其进行修改:

  1. 右键单击现有资产并选择在 Finder 中显示
  2. 复制并粘贴现有.imageset项目并重命名,例如my_image.imageset
  3. 双击新建.imageset
  4. 删除文件夹中的所有现有图像
  5. 复制 JPEG 文件
  6. 编辑文件,用您的 JPEG 文件名Contents.json替换键的值filename

你的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 扩展名,但它们仍然可以正确加载。

于 2013-09-13T12:08:12.617 回答
33

从 Xcode 6.1 开始,JPG 图像现在可以添加到资产目录中。添加步骤如下:

  1. 使用与 PNG 相同的命名约定以所需的质量导出 JPG(即heart.jpg heart@2x.jpg heart@3x.jpg
  2. 将 JPG 从 Finder 拖到您的资产目录中,并将任何拼接或设备特定设置添加到资产
  3. 将所有 JPG 的“渲染为”更改为“原始图像”(否则它们将在模拟器和设备上显示为空白)
于 2014-10-30T21:25:54.657 回答
11

看来您现在可以在 Xcode 6.0 Beta 中拖放 JPEG

于 2014-06-27T18:06:30.280 回答
4

在 Xcode 6.x 中,您可以将 jpeg 拖放到资产目录中。如果从资产创建 UIImage,请确保使用 .jpg 扩展名,如下所示:

[UIImage imageNamed:@"myimage.jpg"];

如果不包含扩展名,则图像将仅显示为白色/空白。

于 2014-11-09T19:49:58.607 回答
1

如果您不想更改 Contents.json 文件,也可以将 image.jpg 重命名为 image.png。然后,您可以将图像添加到资产目录,即使在内部它们仍然是 jpeg 文件。您甚至可以使用 Xcode 对它们进行切片。

编译应用程序时,所有资产都进入 Assets.car 文件。我尚未验证此时它们是否已转换为 png。

于 2014-03-27T00:38:13.763 回答
0

试试这个。快速导入资源脚本,解决导入速度和重命名问题。 https://github.com/qdvictory/happyxcasset

于 2017-07-09T02:59:07.603 回答