【问题标题】:Why isn't my Asset Catalog returning R4 images?为什么我的资产目录不返回 R4 图像?
【发布时间】:2013-09-26 06:54:05
【问题描述】:

我正在将我的图像迁移到资产目录。我的应用需要在启动后访问启动图像并将其显示在屏幕上。

很简单,但我有不同的图像用于短款和高款 iPhone,当我调用 [UIImage imageNamed:@"LaunchImage"] 时,我的 iPhone 5 正在加载短启动图像。

好吧,也许我不能用启动图像来做到这一点。我会尝试将一些图像放入普通的图像集中。

没有骰子。使用 iPhone 5,当我调用 [UIImage imageNamed:@"Derp"] 或在 Interface Builder 中设置图像时,我得到的是 2x(视网膜)图像而不是 R4(视网膜 4 英寸)图像。

这个功能坏了吗?如何在我的 iPhone 5 (iOS 7) 上获取 R4 图像?

【问题讨论】:

    标签: ios7 assets xcode5


    【解决方案1】:

    感谢this,我找到了答案。 Asset Catalog 中的子类型 R4 仅适用于 iOS 7 及更高版本。在其他情况下,它将使用@2x 图像。

    【讨论】:

    • 与我的直接问题无关,但它是一个很好的选择。为什么,苹果? ಠ_ಠ
    • 我在测试中发现这是不真实的;具体来说,R4 仅在 Deployment Target 为 iOS 7.0 时使用。设备的版本似乎无关紧要。 @Coolsinus 在下面正确地说明了这一点。
    【解决方案2】:

    要让 Xcode 自动选择 R4 图像,您必须将 iOS Target 更改为 iOS 7。 因此,即使您使用 iOS7 SDK,您的项目目标必须是 iOS 7。

    【讨论】:

    • 我将 iOS 目标更改为 iOS7。但应用程序在 iOS6 中不起作用。如何在 iOS6 中解决此问题。我希望我的 R4 图像在 4 英寸屏幕(iOS6 和 iOS7)上都能正常工作
    • 我只更改为 ios 7 并且它可以工作。然后我再次将我的项目更改为 ios 6 并且 r4 仍然可以工作..也许清洁后会停止工作。
    • @JoãoNunes FWIW 它会一直工作,直到您从设备中删除该应用程序。我尝试清理和清除派生数据,但仍然有效...#AppleWTF
    • 对我来说,干净的项目停止工作。这是一个不起眼的功能:P
    • 这是正确的使用 UIImage 类别来获取命名方案并将另一个图像资产添加到 xcasset 以获取
    【解决方案3】:

    我有同样的问题和划伤时间。我使用本地化的启动图像,这使它更加复杂。 毕竟,我只是改回来并没有使用资产目录。将启动图像命名为 Default.png 、 Default@2x.png 和 Default-568@2x.png。本地化并将它们放入捆绑包中并使 ios 自动识别。一切正常。

    【讨论】:

      【解决方案4】:

      R4 图像仅在此过程中对我有用:

      1. 从情节提要中删除问题图像视图
      2. 添加一个全新的图像视图以将其替换为预期的资产名称,例如“德普”

      【讨论】:

        【解决方案5】:

        我们使用的解决方案是更新资产目录并仅针对 iOS 6 和更早版本。

        怎么做。转到资产目录。在右上角单击“属性检查器”图标。您可以在此处设置启动映像的目标操作系统。取消选中 iPhone 的 iOS 7 复选框。现在您应该能够看到这些设备的启动图像。这样做您也将使用 R4 的 2x Image。

        【讨论】:

        • 我做了这个,更改了应用程序图标的“属性检查器”选项。但是,不幸的是,它不适用于装有 iOS 6 的 4 英寸 iPhone。
        猜你喜欢
        • 2014-05-14
        • 1970-01-01
        • 2013-10-07
        • 2017-08-27
        • 2014-08-18
        • 1970-01-01
        • 1970-01-01
        • 2017-05-30
        • 2016-05-08
        相关资源
        最近更新 更多