現(xiàn)在好像一種方法不能全部適配ios7盏缤、ios8砰蠢、ios9?
一、第一種(可以實現(xiàn))
(改項目b id 和版本)
? ? 一唉铜、將LaunchScreen.xib設(shè)置成? 默認(rèn)值:(w:Any h:Any)或者 豎屏:(w:Compact h:Regular)
? 二台舱、拖入一個UIImageView 到 LaunchScreen.xib 并設(shè)置上下左右的約束為0
? 三、在 Images.xcassets 里新建一個Image Set潭流,輸入Image Set的名竞惋,然后設(shè)置Device Specific,選擇 iPhone ? ? ? ? ? ? ?和 Retina 4-inch
? ?四灰嫉、在上述 Image Set 中拖入 iPhone4S,iPhone5/5s,iPhone6, iPhone6 Plus 對應(yīng)的啟動圖片
? ? 五拆宛、回到 LaunchScreen.xib,點擊UIImageView讼撒,查看屬性面板浑厚,在Image屬性中選擇 第三步 新建的 Image ? ? ? ? ? ? ?Set 即可
(改項目b id 和版本)
第二種、
Launch Screen在iOS7/8中的實現(xiàn)
目前項目中需要解決的問題是:
兼容iOS7和iOS8根盒,之前的版本不需要支持了
實現(xiàn)兼容3.5钳幅、4、4.7和5.5寸屏幕郑象,豎屏的Lauch Screen
創(chuàng)建所需的PNG圖片
有關(guān)iPhone6/6+相關(guān)尺寸見這里http://www.paintcodeapp.com/news/iphone-6-screens-demystified
需要如下尺寸圖片:
用于iPhone6+的1242x2208贡这,或者1080x1920,也就是Retina HD 5.5
用于iPhone6的750x1334厂榛,也就是Retina HD 4.7
用于4寸屏(iPhone5/5s)的640x1136盖矫,就是Retina 4
用于3.5寸(iPhone4/4s)的640x960,就是2x
使用LaunchImage
使用LaunchImage击奶,可以兼容iOS7和iOS8辈双。
因為iOS8也會調(diào)用LaunchScreen.xib,所以我的做法是直接刪除它柜砾。就是這個文件:
然后湃望,在Images.xcassets中創(chuàng)建一個LaunchImage
需要在項目屬性里,launch Images Source里設(shè)置為LaunchImage
測試了一下:
iPhone6+使用的是Retina HD 5.5
iPhone6使用的是Retina HD 4.7
iPhone5s使用的是Retina 4
iPhone4s使用的是2x
使用LauchScreen.xib
這是Xcode6/iOS8的新功能痰驱,也就是說证芭,這個步驟,是為了支持iOS8的担映,而不支持iOS7废士。其實在目前的項目用不上,不過做了技術(shù)準(zhǔn)備蝇完,就寫下來吧官硝。
看到這個方形的xib文件矗蕊,怪怪的,這是為了支持橫屏和豎屏的氢架,因為這個項目只需要豎屏傻咖,也可以這樣:
不改也沒關(guān)系。
在Images.xcassets里創(chuàng)建backgroundImage
給LaunchScreen.xib中加一個圖片岖研,用剛剛創(chuàng)建的backgroundImage卿操。
測試一下,iOS8下面的Launch Screen都沒有問題了:
iPhone6+用的是3x
iPhone5s用的是Retina 4 2x
iPhone6和iPhone4s都是用的2x
因此我沒有添加1x的圖片孙援,基本沒用硬纤。
結(jié)論
目前比較好的方式是使用Launch Image的方式創(chuàng)建各種設(shè)備的圖片文件,兼容iOS7/8
使用LaunchScreen.xib赃磨,功能更強(qiáng)大,但是僅支持iOS8洼裤,可能再過幾年可以成為主流方法
源代碼見這里:GitHub邻辉,是使用LaunchImage的方式
第三種、
LaunchScreen.xib 在iOS8中優(yōu)先調(diào)用腮鞍。所以如果兩個都設(shè)置了值骇,LaunchImage只在iOS7中起作用。
如果不設(shè)置LaunchScreen.xib的話移国,LaunchImage在iOS7和8上都可以吱瘩,但是,在App Store上展示app時不會有 ”已針對iPhone 6迹缀、iPhone 6 Plus 優(yōu)化“
第四種使碾、
我按照網(wǎng)上說的那樣設(shè)置了還是顯示不出來,最后在info.plist文件中將Launch Screen interface file... 換成Launch image(iPhone) 值設(shè)置為我在Launch Image中的照片祝懂,這樣就可以顯示了票摇。
項目用xcode6創(chuàng)建,升級為xcode7 后改動啟動頁的做法
xcode7 和xcode6兩者比較中間的內(nèi)容發(fā)生了變化砚蓬。變化如下:
( 在Xcode7下創(chuàng)建的項目矢门,由于某個原因,Xcode7添加啟動圖有點不一樣灰蛙。)
Xcode7與Xcode6不一樣的地方在于:
Xcode6的LaunchScreen.xib改成了LaunchScreen.storyboard
如果你還是像以前那樣添加啟動圖祟剔,Xcode將會報出一個警告。如何解決摩梧?
解決辦法:
1.打開你的assets文件(素材庫)物延,并點擊左下的+按鈕,添加LaunchImage障本。然后按要求教届,導(dǎo)入不同分辨率的圖片响鹃。如下圖:
由于我的項目只用到了豎屏的圖,圖中紅色框里面是我需要添加的圖片案训。從左到右买置,從上到下,一次為5.5',4.7',3.5'和4'强霎。把這4個位置填上圖片即可
2.將Launch image Source 修改為使用asset忿项,Xcode會自動指向到LaunchImage。然后城舞,再把Launch Screen File設(shè)置為空即可轩触。
這2步設(shè)置完,項目的啟動圖就成功的添加上了家夺。
在xcode7/ios9添加啟動頁
在LaunchScreen.storyboard中設(shè)置啟動頁已經(jīng)不好用了 , 現(xiàn)在我們設(shè)置啟動頁要在Assets.xcassets這個文件中設(shè)置
進(jìn)去默認(rèn)會有一個AppIcon這個是設(shè)置app圖標(biāo)用的,我們這里要點擊鼠標(biāo)右鍵新建 ?App Icons & Launch Images -> New iOS Launch Image ?這個是設(shè)置啟動頁的選項
創(chuàng)建好之后 , 會有8種分辨率的圖片讓我們添加
點擊其中的一個, 點擊右上角那個尖的,在下面會顯示圖這張圖片需要的分辨率
Retina HD 5.5 ? 1242*2208
Retina HD 4.7 ?750*1334
Retina 4 640*1136
2* ?640*960
注意:所有圖片的分辨率一定要嚴(yán)格的按照這個分辨率制作 , 否則會導(dǎo)致view的大小顯示不正確
在LaunchScreen.storyboard中,將右邊選項的圈紅地方的勾去掉 ? (去掉自動布局)
點擊工程設(shè)置App Icons and Launch Images
點擊Use Asset Catelog , 會彈出一個對話框
什么都不用改 , 點擊右下角的 Migrate
設(shè)置為下面圖片的選項 ? Launch Images Source 設(shè)置為: LaunchImage , ? Launch Screen File中的內(nèi)容刪除
上面這些步驟都做完之后,在虛擬機(jī)中刪除項目,清空Xcode緩存(Command + Shift + K) , 重新運行項目.
注:設(shè)置圖片的分辨率一定要按規(guī)定的分辨率來 . 有的時候還會不好使 , 這個要把最后一步刪除項目 清空緩存操作一遍