作iphone6和plus适配时候发现一个问题,先来看图(一下讨论全部在真机下完毕,非模拟器)iphone
128*750图片是 nav@2x.pnggoogle
1242*192图片是 nav@3x.pngspa
之因此用圆方是为了变形能及时发现。.net
2x和3x图片区分是为了,看看6下面都是用的2x图片 而 plus用的是3x图片。blog
把这两张图片加入到images.xcassets中(直接拖进去):图片
好了。ip
依照我所掌握的资料,ip6下面是用的 @2x图片,ip6plus用的@3x,deployment target 选择为6.0(这个眼下相信你们都是选择这个,他支持collection view和layout等功能)。get
执行在iphone6和plus上面,例如如下图:io
图有点大,你们看一下导航栏(我用的是imageview),图片好像刚有点不正确(用的是@3x的图片),ip6 plus执行是对的。class
此时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),这个问题不存在了。