【问题标题】:Application on ipod Touch 5g does not use full resolution ([UIScreen mainScreen].bounds.height == 480.0)ipod Touch 5g 上的应用程序不使用全分辨率([UIScreen mainScreen].bounds.height == 480.0)
【发布时间】:2013-01-22 11:16:02
【问题描述】:

我们有一个应用程序,它使用了 iphone 5 的全分辨率并且到目前为止运行良好。现在我们收到了一位测试人员的抱怨,说它在 ipod Touch 5g 上不工作。

令人惊讶的是,日志显示 [UIScreen mainScreen].bounds 返回 (320.0, 480.0) ipod Touch 在 iphone 5 上显示正确的边界 (320.0, 568.0) ?!

在此之后,我进行了调查,似乎 iOS 会查找是否存在带有“-568h”后缀的图像并决定以信箱模式 (320,480) 或全分辨率运行 (320,568)。

现在我有一个令人讨厌的怀疑: 我们的高分辨率初始屏幕图像的名称是 Default~iphone-568h@2x.png 对应于 Apple 应该可以工作(我们有一个在 ipad 和 iphone 上运行的通用应用程序)。

由于我这里还没有 ipod touch,有人可以证实这个怀疑:

  • Default~iphone-568h@2x.png 适用于 iphone 5,但不适用于 ipod touch 5g

  • Default-568h@2x.png 适用于两种设备。

编辑:8-0 我不相信这一点。我现在有一个可用的 ipod Touch 和一个 iphone 5。 如前所述,我对其他图像使用 ~iphone 修饰符来区分 ipad 和 iphone。

将 Default~iphone-568h@2x.png 重命名为 Default-568h@2x.png 现在适用于 ipod touch 5,但不再适用于 iphone 5。 完全颠倒了!!

复制:

  • 为所有设备使用通用应用程序(iphone/ipadretina/non-retina/4")

  • 为 iphone/ipod 命名“~iphone”标识符,为 ipad 命名

  • 使用 Default~iphone-568h@2x.png 或 Default-568h@2x.png 并查看它是否在 两个 iphone 5 和 iphone touch 5 上以正确的全分辨率运行.

可以请人确认一下吗? Xcode 4.5.2 / iOS SDK 6.0

编辑 2:rckoenes 的回答成功了,但我仍然对所谓的 iphone 设备标识符无法正常工作感到失望。

【问题讨论】:

    标签: ios screen resolution


    【解决方案1】:

    Default~iphone-568h@2x.png 不正确,应该是 Default-568h@2x.png。不要在启动图像上使用~iphone 修饰符,~iphone~ipad 修饰符仅在您需要在不同设备上加载视图的特定图像时才有用。因此,启动图像不需要它。

    您可以在iOS App Programming Guide 部分找到有关App Launch (Default) Images 的信息。

    我的通用应用有以下图片:

    • 默认.png
    • 默认@2x.png
    • 默认-568h@2x.png
    • 默认纵向~ipad.png
    • 默认-Portrait@2x~ipad.png
    • 默认横向~ipad.png
    • 默认-Landscape@2x~ipad.png

    【讨论】:

    • 是的,它用于不同的设备。它是一个通用应用程序,所以我们需要 th 修饰符。
    • Default-568h@2x.png 不需要设备修饰符,因为它仅用于 4" 设备(iPhone 和 iPod Touch)
    • 我刚刚检查并在我的 iPhone 5 上安装了一个通用应用程序。如果没有 ~iphone 修饰符,它确实可以工作。在尝试再次在设备上运行该应用程序之前,请务必清理您构建的应用程序并从您的设备中删除该应用程序。
    • 做到了。但这仍然是非常奇怪的行为。
    • 嗯,是的,我只对 iPad 使用设备修饰符,这样我确信它适用于所有设备。
    【解决方案2】:

    设备修饰符必须在文件名http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/App-RelatedResources/App-RelatedResources.html的末尾

    所以正确的文件名是 Default-568h@2x~iphone.png

    【讨论】:

    • 这是不正确的,你不需要~iphone 修改这个启动图像。
    • 不幸的是,在这种情况下文档不正确。 Xcode 4 不接受“正确”的顺序,而只接受我给出的名称。 :(
    • Xcode 不接受,但 iOS 接受。无论如何 Default-568h@2x.png 在所有设备上都能完美运行。
    猜你喜欢
    • 2014-04-17
    • 1970-01-01
    • 2011-12-23
    • 2014-04-14
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 2010-12-26
    • 1970-01-01
    相关资源
    最近更新 更多