如何在Xcode中将JPEG添加到资产目录?

时间:2013-09-13 12:08:13

标签: xcode assets xcode5

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

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

6 个答案:

答案 0 :(得分:46)

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

  1. 右键单击现有资产,然后选择在Finder中显示
  2. 复制并粘贴现有的.imageset项并重命名,例如my_image.imageset
  3. 双击新的.imageset
  4. 删除文件夹中的所有现有图像
  5. 复制JPEG文件
  6. 编辑Contents.json文件,将filename键的值替换为JPEG文件名
  7. 您的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图像现在可以添加到资产目录中。要添加的步骤是:

  1. 使用与PNG相同的命名惯例(即heart.jpg heart@2x.jpg heart@3x.jpg
  2. 以您想要的质量导出JPG
  3. 将JPG从Finder拖入资产目录,并将任何拼接或设备特定设置添加到资产
  4. 将所有JPG的'Render As'更改为'Original Image'(否则它们在模拟器和设备上显示为空白)

答案 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