做iphone6和plus适配时候发现一个问题,先来看图(一下讨论所有在真机下完毕,非模拟器)
128*750图片是 nav@2x.png
1242*192图片是 nav@3x.png
之所以用圆方是为了变形能及时发现。
2x和3x图片区分是为了,看看6下面都是用的2x图片 而 plus用的是3x图片。
把这两张图片加入到images.xcassets中(直接拖进去):
好了。
依照我所掌握的资料,ip6下面是用的 @2x图片,ip6plus用的@3x,deployment target 选择为6.0(这个眼下相信大家都是选择这个,他支持collection view和layout等功能)。
执行在iphone6和plus上面,例如以下图:
图有点大,大家看一下导航栏(我用的是imageview),图片好像刚有点不正确(用的是@3x的图片),ip6 plus执行是对的。
此时ip6的系统是8.0.2。deployment target 选择为6.0:
为什么呢?google了一下,找到了这么说法:
红色部分就说了这个问题,绿色似乎给出答案,我依照他的方法试了一下:
把deployment target 选择为7.0(之前是6.0)。再次执行:
能够了。使用的图片是@2x了。(假设你在把deployment target 选择为6.0,程序从机器上删掉。在clean,结果还是错误的。
)
换个机器(iphone6(当然你能够用其它的iphone4s、5等) 系统是iOS 8.1的),从新把deployment target 选择为6.0,执行没有问题。
所以得出个结论iOS8.0.1 这个地方有个小bug。大家升级一下系统,或者把deployment target 选择为7.0就可以。
关于iOS8的适配。还能够參照我的还有一篇文章:APP适配IOS8,iPhone6和Plus截图简要说明,有iP6截图下载供研究(原创)
第二天我将ip6机器升级之后(到8.1),这个问题不存在了。