關於iphone6/5/4s 在iOS8.0系統下 唯讀@3x圖片,
做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),這個問題不存在了。