閑扯一會(huì)兒LaunchSceen.storyboard
LaunchImage實(shí)打?qū)嵄惶蕴硕恃溃缇陀校瑥?020年4月開始对妄,所有使? iOS13 SDK的 App將必須提供 LaunchScreen使用湘今。
值得注意的是:蘋果曾要求所有應(yīng)用切換到iOS 13 SDK進(jìn)行開發(fā),而開發(fā)者們必須要在 2020 年 4 月滿足以下要求剪菱,其中包含了支持暗黑模式及其三方登錄應(yīng)用強(qiáng)制支持蘋果登錄摩瞎,因?yàn)槭兰o(jì)疫情,現(xiàn)在最后期限延遲到了6 月 30 日孝常,以適應(yīng)可能需要更多時(shí)間去開發(fā)適配的App旗们,但是卻強(qiáng)調(diào)了從 2020 年 4 月開始,提交到App Store的應(yīng)用必須使用Xcode storyboards來(lái)提供應(yīng)用的啟動(dòng)屏幕构灸。
所以上渴,兄弟,LaunchImage沒的了,趕緊改LaunchSceen.storyboard吧稠氮!
方案一:豪橫放圖曹阔,愛雜雜地
使用聽起來(lái)賊簡(jiǎn)單,圖片放上LaunchScreen.storyboard就完事了隔披,但是次兆,你做夢(mèng)吧。
簡(jiǎn)單來(lái)說(shuō)就是加個(gè)圖锹锰,autolayout 設(shè)置邊距都為0芥炭,Content Mode 設(shè)為為 Aspect Fil。
前幾天剛發(fā)布了一個(gè)4.7的iPhone SE二代手機(jī)恃慧,聽說(shuō)3299起园蝠,配置咳咳,扯遠(yuǎn)了痢士,就目前蘋果設(shè)備尺寸越來(lái)越復(fù)雜的情況彪薛,“圖片放上LaunchScreen.storyboard就完事了”雖然顯得豪橫,But怠蹂,開發(fā)的臉面都不要了善延,你一定會(huì)被老板拉去祭天。
方案二:拼圖
說(shuō)白了就是做個(gè)UI城侧,使用 autolayout 正常布局適配易遣,目前主流,特別是那種啟動(dòng)頁(yè)簡(jiǎn)單的嫌佑,這種方式最為靈活豆茫,強(qiáng)烈推薦,蘋果公司希望的大概率是這樣的屋摇。
方案三:多圖片適配
有些取巧果覆,但是很機(jī)智娶吞,本質(zhì)上和LaunchImage沒區(qū)別奕塑,有人已經(jīng)實(shí)踐過(guò),應(yīng)用已經(jīng)通過(guò)三四個(gè)柒啤,蘋果拿你沒的辦法倦挂,想想還有點(diǎn)小激動(dòng)。
整體流程我自己走了一下白修,簡(jiǎn)單配圖描述下妒峦。
找圖重斑,我連640*960都給補(bǔ)上了
3.5寸的iphone4(640*960)兵睛、4.0寸的iPhone5s(640*1136)、4.7寸的iPhone8(750*1334)、5.5寸的iPhone8P(1242*2208)祖很、5.8寸的iPhoneX(1125*2436)笛丙、6.1寸的iPhone XR(828*1792)、6.5寸的iPhone Xs Max(1242*2688)
Xcode創(chuàng)建圖片
打開圖片文件夾,圖片拖進(jìn)去
Xcode會(huì)自動(dòng)同步笨鸡,但是會(huì)出現(xiàn)不識(shí)別的警告姜钳。
然后用編輯器打開Contents.json文件
images數(shù)組內(nèi)容全改,注意名稱對(duì)應(yīng)形耗,改后內(nèi)容(info內(nèi)容可以不變):
{ "images" : [ { "idiom" : "iphone", "scale" : "1x" }, { "idiom" : "iphone", "filename" : "iphone4.png", "scale" : "2x" }, { "idiom" : "iphone", "scale" : "3x" }, { "idiom" : "iphone", "subtype" : "retina4", "scale" : "1x" }, { "idiom" : "iphone", "filename" : "iPhone5s.png", "subtype" : "retina4", "scale" : "2x" }, { "idiom" : "iphone", "subtype" : "retina4", "scale" : "3x" }, { "idiom" : "iphone", "filename" : "iPhone8P.png", "subtype" : "736h", "scale" : "3x" }, { "idiom" : "iphone", "filename" : "iPhone8.png", "subtype" : "667h", "scale" : "2x" }, { "idiom" : "iphone", "filename" : "iPhoneX.png", "subtype" : "2436h", "scale" : "3x" }, { "idiom" : "iphone", "filename" : "iPhone Xs Max.png", "subtype" : "2688h", "scale" : "3x" }, { "idiom" : "iphone", "filename" : "iPhone XR.png", "subtype" : "1792h", "scale" : "2x" } ], "info" : { "version" : 1, "author" : "xcode" }}
LaunchScreen.storyboard添個(gè)圖
看效果:
和原文有一些小區(qū)別拟糕,自己搞清楚,下載回去自己測(cè)試一下倦踢,原文評(píng)論中說(shuō)的iOS11顯示有問(wèn)題的沒發(fā)現(xiàn)送滞。
另外關(guān)于啟動(dòng)頁(yè)不更換或者替換顯示有問(wèn)題,說(shuō)白了就是有緩存唄辱挥,系統(tǒng)緩存犁嗅,刪應(yīng)用都不能保證清除,那直接方法刪文件最靠譜晤碘,查到一個(gè)方法清除APP的啟動(dòng)屏幕緩存?只是一種解決方案愧哟,
當(dāng)然,我自己上面附的demo里面也有我自己寫的哼蛆。
替換LaunchSceen黑屏問(wèn)題還可以參考這個(gè)細(xì)致解決
別跑蕊梧,留個(gè)贊!
收工腮介,回家抱媳婦肥矢!