【问题标题】:How can I tell Asset Catalog (.xcassets) to use the Same Image for Multiple Image Wells?如何告诉资产目录 (.xcassets) 对多个图像井使用相同的图像?
【发布时间】:2013-10-04 09:53:09
【问题描述】:

我们有几个 Xcode 应用项目,我们正在升级所有项目以使用最新的 Xcode 5 功能,包括资产目录 (.xcassets)。

我们所有的default(启动)图像已经包含状态栏的间距,我们希望将这些图像用于iOS 5,6iOS 7 启动图像。此外,我们希望在项目中包含同一图像的多个副本。

我们的一个项目已正确设置为对这两个图像井组使用相同的图像。然而,这是偶然设置的。

除了直接编辑 Contents.json 文件(如果需要,这是最后的解决方法),我们如何使用资产目录的 Xcode GUI 编辑器来做到这一点?

我们已经尝试过的

1) 将图像拖放到不同的位置...只需将图像移动到另一组

2) 将同一文件从 Finder 拖放到资产目录...创建图像的新副本

3) 按下option (alt) 拖放图像...创建图像的新副本

【问题讨论】:

  • 您是否尝试在按下选项 (ALT) 的情况下从一个位置拖放到另一个位置?
  • @MarceloFabri,我想是的,但我会再试一次......
  • @MarceloFabri,不,只是将图像复制到另一组......所以你会得到多个图像(即第二个名为“Default@2x-1.png”的图像)
  • 另一个非常常见的用例:使用相同的图像作为启动图像 + 背景作为您的“主页”视图
  • 好吧,你可以只检查iOS 6.0 and Prior选项,启动图像将用于所有系统(5,6,7)

标签: ios xcode xcode5 xcasset


【解决方案1】:

您可以右键单击 .xcassets 文件并选择“在 Finder 中显示”。转到“Image.launchimage”文件夹并在文本编辑器中打开 Contents.json 文件。在这里您可以看到未分配的插槽不包含“文件名”。您可以手动添加它。例如更改以下内容:

{
    "orientation" : "landscape",
    "idiom" : "ipad",
    "extent" : "full-screen",
    "minimum-system-version" : "7.0",
    "scale" : "2x"
}

进入:

{
    "orientation" : "landscape",
    "idiom" : "ipad",
    "extent" : "full-screen",
    "minimum-system-version" : "7.0",
    "filename" : "Default-Landscape@2x~ipad.png",
    "scale" : "2x"
}

现在保存文件,瞧!

【讨论】:

  • 是的,问题提示中提到了这一点。希望能够完全从 Xcode GUI 编辑器中完成。
  • 这不会影响构建的大小,因为构建产品包含启动图像的所有副本,并相应命名
【解决方案2】:

我通过使用构建脚本为每个目标复制正确的 xcassets 文件解决了这个问题。详情here

【讨论】:

    【解决方案3】:

    我想我找到了解决方案:只需将要用于 iOS 6 和 7 的默认图像拖到 iOS 6 存储桶中即可。您会收到一条警告,提示您没有仅适用于 iOS7 的映像,但该构建可在 iOS7 模拟器、iOS7 iPhone 和 iOS7 iPad 中运行。

    【讨论】:

      【解决方案4】:

      我通过删除旧的 xcasset 并使用不使用应用程序目录添加新的 xcasset 解决了这个问题

      【讨论】:

        【解决方案5】:

        就我而言,我使用的是可可豆荚。可可豆荚脚本Pods-resources.sh 不知何故导致了这个问题。从脚本中删除资产部分解决了这个问题。

        确保清理您的项目并删除派生数据文件夹。

        要删除的部分可以在这里找到:

        https://stackoverflow.com/a/21309102/832111

        【讨论】:

          【解决方案6】:

          我升级到 cocopods 0.37,问题就解决了。如果你用的是 cocopods 那可能是它的错。

          【讨论】:

            猜你喜欢
            • 2014-08-24
            • 2014-08-18
            • 2017-01-16
            • 2012-03-19
            • 2017-10-16
            • 1970-01-01
            • 2016-10-16
            • 2020-05-21
            • 2014-08-28
            相关资源
            最近更新 更多