【问题标题】:How does my app currently behaves on an iPhone 6 / iPhone 6 plus?我的应用程序目前在 iPhone 6 / iPhone 6 plus 上的表现如何?
【发布时间】:2014-10-02 11:01:27
【问题描述】:

我从PaintCodeApp website得到以下 iPhone 设备号码

Device          Zoom display  Points   Rendered pixels Scale
                              W   H    W    H          
iPhone 6 Plus   Off           414 736  1242 2208       @3x
iPhone 6 Plus   On            375 667  1125 2001       @3x
iPhone 6        Off           375 667   750 1334       @2x
iPhone 6        On            320 568   640 1136       @2x
iPhone 5        -             320 568   640 1136       @2x
iPhone 4        -             320 480   640  960       @2x
iPhone 3GS      -             320 480   320  480       @1x

由于我的应用是为 iPhone 3GS 到 iPhone 5 设计的,因此支持的点帧为 320x480@1x、320x480@2x 和 320x568@2x。

我假设在启用缩放模式的 iPhone 6 上,显示应该与 iPhone 5完全相同,因为点帧也是 320x568@2x。这可能是错误的,因为我找不到任何确认。

现在,我真正想知道的是我的应用程序如何在 iPhone 6 上关闭缩放模式,以及在 iPhone 6 plus 上显示或不显示缩放模式,因为点帧是 375x667@2x、375x667@3x 和414x736@3x。

Apple 开发人员支持无法给我任何提示或文档来阅读有关该主题的内容。由于我还没有购买新设备,有没有人知道旧应用的实际情况?

【问题讨论】:

  • 不直接支持 iPhone 6/6+ 的现有应用程序就像在旧设备上一样运行,但显示的内容会缩放以填满更大手机的屏幕。
  • 我在一个热门话题stackoverflow.com/a/26164091/598259中回答了我自己的问题

标签: ios screen-resolution iphone-6 iphone-6-plus


【解决方案1】:

对于像我这样想知道如何处理遗留应用程序的人,我对此主题进行了一些测试和计算。

感谢@hannes-sverrisson 的提示,我开始假设旧版应用程序在 iPhone 6 和 iPhone 6 plus 中使用 320x568 视图处理。

测试是使用带有白色边框的简单黑色背景bg@2x.png 进行的。背景大小为 640x1136 像素,黑色,内白边为 1px。

以下是模拟器提供的截图:

我们在 iPhone 6 的截图中可以看到,白色边框的顶部和底部都有 1px 的边距,而 iPhone 6 plus 的屏幕截图中则是 2px 的边距。这为我们提供了一个 已用空间,在 iPhone 6 plus 上为 1242x2204,而不是 1242x2208,在 iPhone 6 上为 750x1332,而不是 750x1334。

我们可以假设这些坏点是为了尊重 iPhone 5 的宽高比:

iPhone 5               640 / 1136 = 0.5634
iPhone 6 (used)        750 / 1332 = 0.5631
iPhone 6 (real)        750 / 1334 = 0.5622
iPhone 6 plus (used)  1242 / 2204 = 0.5635
iPhone 6 plus (real)  1242 / 2208 = 0.5625

其次,重要的是要知道@2x 资源不仅会在 iPhone 6 plus(预计 @3x 资产)上进行缩放,还会在 iPhone 6 上进行。这可能是因为不缩放资源会导致意外布局,由于视图的放大。

但是,这种缩放在宽度和高度上并不相等。我尝试使用 264x264 @2x 资源。鉴于结果,我必须假设缩放与像素/点比成正比。

Device         Width scale             Computed width   Screenshot width
iPhone 5        640 /  640 = 1.0                        264 px
iPhone 6        750 /  640 = 1.171875  309.375          309 px
iPhone 6 plus  1242 /  640 = 1.940625  512.325          512 px

Device         Height scale            Computed height  Screenshot height
iPhone 5       1136 / 1136 = 1.0                        264 px
iPhone 6       1332 / 1136 = 1.172535  309.549          310 px
iPhone 6 plus  2204 / 1136 = 1.940141  512.197          512 px

请务必注意,iPhone 6 的缩放比例宽度和高度不同 (309x310)。这往往印证了上述理论,即缩放不是宽度和高度成比例的,而是使用像素/点的比例。

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-02
    • 2014-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-05
    • 2017-11-19
    • 1970-01-01
    相关资源
    最近更新 更多