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上显示,因为点数帧为375x667 @ 2x,375x667 @ 3x和414x736 @ 3次。
Apple开发人员支持部门无法向我提供有关该主题的任何提示或文档。由于我还没有购买新设备,有没有人知道旧应用程序究竟发生了什么?
答案 0 :(得分: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,而不是iPhone 6上的1242x2208和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)。这往往证实了上述理论,即缩放在宽度和高度上不成比例,但使用像素/点比率。
我希望这会有所帮助。