ios - 我的应用目前在 iPhone 6/iPhone 6 plus 上的表现如何?

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

我从 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 Developer Support 无法给我提示或文档来阅读有关该主题的内容。由于我还没有购买新设备,有谁知道旧应用程序实际发生了什么?

最佳答案

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

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

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

模拟器提供的截图如下:

我们可以在 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 Assets ),还会在 iPhone 6 上缩放。这可能是因为不缩放资源会导致意外布局,由于 View 的放大。

但是,这种缩放在宽度和高度上并不相等。我尝试使用 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)。这倾向于证实上述理论,即缩放不是按宽度和高度成比例,而是使用像素/点的比例。

希望对您有所帮助。

关于ios - 我的应用目前在 iPhone 6/iPhone 6 plus 上的表现如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26159437/

相关文章:

ios - 如何在 iPhone 6 Plus 中检测主机应用程序处于缩放模式或普通模式?

ios - Xcode 组织者 : Can't Remove Device

iphone - 在应用程序中交换默认的 iOS 系统字体

iOS 应用程序开发 (iPad) : Does Swift support self designed GUI and openGL?

html - 设备分辨率和固定宽度(以像素为单位)

ios - 没有在图像集中添加横向图像的选项

ios - iPhone 6/6+ 优化问题

ios - 与 iPad 上的通知栏重叠

android - 如何使用 Android 代码更改分辨率(大小)和密度,Runtime.getRuntime().exec(...) 不起作用

java - 更改 Android 中应用程序的 DisplayMetrics(API 级别低于 17)