標籤:
源地址:http://blog.shiqichan.com/Launch-Screen-in-iOS-7-and-8/
目前項目中需要解決的問題是:
- 相容iOS7和iOS8,之前的版本不需要支援了
- 實現相容3.5、4、4.7和5.5寸螢幕,豎屏的Lauch Screen
建立所需的PNG圖片
有關iPhone6/6+相關尺寸見這裡
需要如下尺寸圖片:
- 用於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也會調用LaunchScreen.xib,所以我的做法是直接刪除它。就是這個檔案:
然後,在Images.xcassets中建立一個LaunchImage
需要在項目屬性裡,launch Images Source裡設定為LaunchImage
測試了一下:
- iPhone6+使用的是Retina HD 5.5
- iPhone6使用的是Retina HD 4.7
- iPhone5s使用的是Retina 4
- iPhone4s使用的是2x
使用LauchScreen.xib
這是Xcode6/iOS8的新功能,也就是說,這個步驟,是為了支援iOS8的,而不支援iOS7。其實在目前的項目用不上,不過做了技術準備,就寫下來吧。
看到這個方形的xib檔案,怪怪的,這是為了支援橫屏和豎屏的,因為這個項目只需要豎屏,也可以這樣:
不改也沒關係。
在Images.xcassets裡建立backgroundImage
給LaunchScreen.xib中加一個圖片,用剛剛建立的backgroundImage。
測試一下,iOS8下面的Launch Screen都沒有問題了:
- iPhone6+用的是3x
- iPhone5s用的是Retina 4 2x
- iPhone6和iPhone4s都是用的2x
因此我沒有添加1x的圖片,基本沒用。
結論
- 目前比較好的方式是使用
Launch Image的方式建立各種裝置的圖片檔案,相容iOS7/8
- 使用
LaunchScreen.xib,功能更強大,但是僅支援iOS8,可能再過幾年可以成為主流方法
原始碼見這裡:GitHub,是使用LaunchImage的方式。
iOS 8:【轉】Launch Screen在iOS7/8中的實現