【问题标题】:iPad Retina Images not showing?iPad Retina 图片不显示?
【发布时间】:2012-08-09 04:48:11
【问题描述】:

在我的应用程序中,我无法显示 iPad Retina 图像。我知道我必须使用@2x~ipad.png 扩展才能让它们正确显示,我这样做了。我的图像是根据命名的,因此除了每个设备的扩展名之外,它们的名称都相同。但是,在 iPad 3 上查看我的图像时,它们显得模糊。我知道图像的尺寸和 PPI 都合适,但它看起来并不清晰。

我的图片也在我的“复制捆绑资源”中。我试图清理我的项目,然后重新启动 Xcode。没有运气。

同样在我的 iPad XIB 的 Interace Builder 中,我将每个图像设置为 -72.png 图像(我猜如果它是 iPad 3,图像会自动切换到 @2x~ipad.png 吗?)

有什么方法可以通过 NSLogs 确认它是否正在加载正确的图像?还有什么我应该仔细检查以确保加载正确的图像。

【问题讨论】:

  • 对于我拥有的 iPad:[name]-72.png 和 [name]@2x~ipad.png
  • 另外我必须注意,如果我通过 IB 设置 @2x~ipad.png 图像,它在 iPad 3 上看起来是正确的,但是这在非视网膜 iPad 上未经测试。
  • 啊,我的评论太长了,所以我把它作为一个答案。
  • 通过您的第二条评论,您的意思是您实际上将图像名称设置为 [name]@2x~ipad.png?? AFAIK,您应该永远手动添加@2x,除非是极少数情况。
  • 你应该没有问题。命名约定 ~iphone/~ipad 和 @2x 可以正常工作,即使您在 IB 中设置它们也是如此。也许,你应该看看这个库github.com/angelolloqui/AGImageChecker 来检查问题。

标签: ios image ipad retina-display


【解决方案1】:

我正在做的是将图像名称设置为:

  1. [name]_ipad.png[name]_ipad@2x.png。 [iPad]
  2. [name]_ipod.png[name]_ipod@2x.png。 [iPhone]

而且,我在UIImagemc_imageNamed: 上添加了一个类别,该类别根据当前设备附加了_ipad_ipod。当然,我已经根据它们在 XIB 中的名称设置了图像。

根据我的经验,这种方法可以保证有效。如果有人能解决您的问题,那就太好了,但也可以使用此解决方案。

【讨论】:

    【解决方案2】:

    呃,如果你真的这样做的话:

    [名称]-72.png 和 [名称]@2x~ipad.png

    这是不对的。

    如果这是一个通用应用程序,那么你有

    • Foo.png(或 Foo~iphone.png)和 Foo@2x.png(或 Foo@2x~iphone.png)[注意:iphone 不是 iPhone];

    • Foo~ipad.png 和 Foo@2x~ipad.png

    这一切都适用于我的通用应用程序。

    编辑:您可以阅读 Apple 的“资源编程指南”第 46 页中的命名约定:

    捆绑包和图像加载例程会自动查找图像 当底层设备具有 @2x 字符串时 高分辨率屏幕。如果您将@2x 字符串与其他 修饰符,@2x 字符串应位于任何设备修饰符之前,但 在所有其他修饰符之后,例如启动方向或 URL 方案 修饰符。例如:

    • MyImage.png - 图像的默认版本 资源。

    • MyImage@2x.png - 高分辨率版本的图像 配备 Retina 显示屏的设备的资源。

    • MyImage~iphone.png - iPhone 和 iPod touch 的图像版本。

    • MyImage@2x~iphone.png - 适用于 iPhone 和 iPod touch 设备的高分辨率版本的图像 配备 Retina 显示屏。

    EDIT2:所以我确实在引用“-72”(和-50)时绊倒了。这些用于 iOS 3.1.3 和更早版本。完整的解释在“iOS应用程序编程指南”,“应用程序图标”部分(链接太脆弱而无法使用)。

    【讨论】:

    • 啊,好吧。抱歉,如果我的问题看起来很愚蠢,我只记得某处告诉我在非视网膜 iPad 上执行 -72.png。可能是应用程序图标还是 ~ipad.png?
    • 坦白说,我从来没有听说过。问题在于该后缀会扰乱所有其他匹配尝试。
    • 我相信 -72 是非视网膜 iPad 图标图像的后缀。
    • 我从未听说过使用“-72”,如果 Apple 在某个地方定义了它,我很乐意看到参考。
    • @DavidH 如果我在通用应用程序中添加 Foo.png 和 Foo@2x.png,那么它是否适用于 iPad 和 iPhone?或者我是否必须为 iPad 添加另一个 2x 图像,分别为 iPad 的 Foo@2x~ipad.png,因为我有相同的尺寸?
    猜你喜欢
    • 2016-10-02
    • 1970-01-01
    • 2015-11-19
    • 2014-02-19
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多