我从
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,因此支持的点数框架为320×480 @ 1x,320×480 @ 2x和320×568 @ 2x.
我假设在启用了缩放模式的iPhone 6上,显示器应该与iPhone 5完全相同,因为点框架也是320×568 @ 2x.这可能是错的,因为我找不到任何确认.
现在,我真正想知道的是我的应用程序如何在关闭缩放模式的情况下在iPhone 6上显示,以及在有或没有缩放模式的iPhone 6上显示,因为点数帧是375×667 @ 2x,375×667 @ 3x和414×736 @ 3x .
Apple Developer Support无法向我提供有关此主题的提示或文档.由于我还没有购买新设备,有没有人知道旧应用程序究竟发生了什么?
最佳答案 对于那些想知道如何处理遗留应用程序的人,我对这个主题进行了一些测试和计算.
感谢@ hannes-sverrisson提示,我开始假设在iPhone 6和iPhone 6 plus中使用320×568视图处理遗留应用程序.
测试是用简单的黑色背景bg@2x.png进行的,带有白色边框.背景的大小为640×1136像素,黑色,内部白色边框为1px.
以下是模拟器提供的屏幕截图:
> iPhone 5模拟器:http://i.stack.imgur.com/b2E5K.png
> iPhone 6模拟器:http://i.stack.imgur.com/4Qz8N.png
> iPhone 6 plus模拟器:http://i.stack.imgur.com/hQisc.png
我们在iPhone 6屏幕截图上看到的是白色边框顶部和底部的1px边距,以及iPhone 6 plus屏幕截图的2px边距.这给我们在iPhone 6 plus上使用了1242×2204的空间,而不是iPhone 6上的1242×2208和750×1332,而不是750×1334.
我们可以假设这些坏点是为了尊重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上扩展.这可能是因为没有扩展资源会导致意外布局,扩大视野.
但是,该缩放在宽度和高度上不相等.我尝试使用264×264 @ 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的缩放在宽度和高度上是不一样的(309×310).这倾向于证实上述理论,即缩放在宽度和高度上不成比例,但使用像素/点比率.
我希望这有帮助.