4

我从PaintCodeApp 网站获得了 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 Developer Support 无法给我任何提示或文档来阅读有关该主题的内容。由于我还没有购买新设备,有没有人知道旧应用程序的实际情况?

4

1 回答 1

2

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

感谢@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) 上是不同的。这往往印证了上述理论,即缩放不是宽度和高度成比例的,而是使用像素/点的比例。

我希望这有帮助。

于 2014-10-20T09:30:23.933 回答