cocoa_chen

iPhone6和Plus适配备忘录

2014-11-20

1.旧工程添加Launch Screen适配iPhone6/Plus

如果是Xcode6之前的工程直接在6/Plus上运行,默认会是“兼容模式”,系统会等比放大,当然显示效果会有些模糊。这种情况下获取到的设备分辨率和iPhone5下一样。先简单介绍下如何开启iPhone6和iPhone6 Plus的分辨率.

  • 首先创建一个Launch Screen文件

  • 然后去项目设置中指定Launch Screen File

最后用模拟器运行工程,现在项目就已经变成iPhone6或者是iPhone6 Plus的分辨率了。

2.当iPhone6或者iPhone6 Plus开启”放大显示(Display Zoom)”时的效果

在iPhone6和iPhone6 Plus机器上,Apple添加了一个”放大显示(Display Zoom)”的功能,我们可以在”设置->显示与亮度->显示模式”中选择标准或者放大的模式。

  • 在标准模式下,iPhone6 Plus的分辨率是1242 * 2208,对应的尺寸是414 * 736,加载的图片为@3x.此时我们在应用中打印window的bounds.size为414 * 736;而iPhone6的分辨率是750 * 1334,对应的尺寸为375 * 667,加载的图片为@2x,打印window的bounds.size为375 * 667.

  • 在放大模式下,iPhone6 Plus看起来的显示效果就像iPhone6一样,但却以3x渲染,真实的分辨率是1125 * 2001.此时我们在应用中打印window的bounds.size为375 * 667;而iPhone6的显示效果看起来跟iPhone5的一样,以2x渲染,真实分辨率是640 * 1136,打印出来的window的bound.size为320*568.

总结

在放大模式下,iPhone看起来就像是上一代标准模式下iPhone的界面。即我们在真机上打印window的尺寸时,iPhone6打印出来是iPhone5的尺寸(320 * 568),iPhone6 Plus打印出来是iPhone6的尺寸(375 * 667);在模拟器上却是iPhone6打印的尺寸是375 * 667,iPhone6 Plus打印的尺寸是414 * 736(被这个问题坑了半天⊙﹏⊙),所以我们可能还需要在加上一个Launch Screen的基础上再做些小处理.

PS:最近在适配iPhone6和Plus上遇到了一些小坑,所以写下这个文章来记录一下。最后附上一个链接,地址为:http://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions,里面介绍了跟iPhone相关的分辨率以及屏幕像素的内容,可以了解下。

Tags: iOS
使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章