iOS LaunchScreen設(shè)置啟動(dòng)頁(yè)以及更換啟動(dòng)圖片不成功的問(wèn)題

1、新建一個(gè)Launch Screen文件

新建一個(gè)Launch Screen文件

2、Launch Screen File選擇LaunchScreen

Launch Screen File選擇LaunchScreen

準(zhǔn)備啟動(dòng)圖的切圖(一張)

這張啟動(dòng)圖上下盡量留出空白或背景來(lái)避免被裁剪。新建Resource文件夾再在下級(jí)目錄新建Images目錄,將啟動(dòng)圖片拖入目錄。比如啟動(dòng)圖分為底圖(帶花紋)+ 中間logo+底部,分別切圖3張,如下圖:

切圖

3、配置Launch Screen.storyboard

按照如下勾選

Launch Screen.storyboard01
Launch Screen.storyboard02

其次,需要注意以前用launchImage設(shè)置啟動(dòng)圖的朋友一定要在Build Settings將底下的“Asset Catalog Launch Image Set Name”對(duì)應(yīng)原來(lái)的啟動(dòng)圖片名字刪除。如下圖:

Launch Screen.storyboard03

然后,LaunchScreen.storyboard拖入一個(gè)UIImageViwe的UI控件,設(shè)置上下左右的邊距都為0.注意,頂部一定要拖到最頂部(包括劉海),底部留safeArea.如下圖配置。

Launch Screen.storyboard04

底圖的約束要注意,上下是針對(duì)superview的

Launch Screen.storyboard05

再把兩個(gè)子視圖添加到上面,設(shè)置約束。

三張圖片的iamgeview要設(shè)置上底圖的圖片名稱(chēng),如下圖:

Launch Screen.storyboard05

底圖的imageview要設(shè)置Aspect Fill,另外兩張小圖設(shè)置為Aspect Fit就OK。

Launch Screen.storyboard06

最后要注意的是:每次更換啟動(dòng)圖片時(shí),一定要將啟動(dòng)圖片重新命名,再拖入ReSource下級(jí)的Images目錄下面,再在LaunchScreen.storyboard里面重新配置ImageViwe的圖片。這樣,可以避免更換啟動(dòng)圖片時(shí)出現(xiàn)空白頁(yè)面或讀取到舊的啟動(dòng)圖片的問(wèn)題。



遇到的坑:

以前設(shè)置啟動(dòng)圖時(shí)候跟上面區(qū)別是沒(méi)有一張圖適配,用的多張圖適配,launchscreen.sotryboard的uiimageview添加的是Assets.xcassets里面LaunchImage,這樣就可以加載LaunchImage里面的圖,不同機(jī)型使用不同的圖片,如下圖:


Launch Screen.storyboard07


Launch Screen.storyboard08

但是,但是,突然一個(gè)需求說(shuō)啟動(dòng)圖要換,就把這八張圖都換了,結(jié)果運(yùn)行、打包都不生效,一直加載以前的舊圖。我做了以下操作都不生效:

1、把里面圖片名稱(chēng)全都改了,LaunchImage名字也改了,Launch Screen.storyboard名字也改了

2、刪除app 、清緩存都不管用

最后只有重啟手機(jī)才管用了,總不能要求用戶(hù)都去重啟手機(jī)。

以下為解決方案:

1、如果是用的launchscreen.sotryboard的uiimageview添加的是Assets.xcassets里面LaunchImage的方案,還是放棄吧,這種方案怎么修改,啟動(dòng)圖都不會(huì)更新,除非重啟手機(jī)。

2、使用Assets.xcassets這種方式設(shè)置啟動(dòng)圖后,再轉(zhuǎn)換成Launch Screen方式設(shè)置新的,啟動(dòng)頁(yè)會(huì)更改,看來(lái)Launch Screen優(yōu)先級(jí)比較高。

3、在Launch Screen上直接更換圖片,如果更換不成功(都說(shuō)是蘋(píng)果的bug,換了圖沒(méi)有更新是系統(tǒng)有緩存,沒(méi)有把老圖片替換。)把圖片名字改了。并且圖片不要放在Assets.xcassets。

4、在Launch Screen上直接更換圖片,如果更換不成功,刪除原先的在Launch Screen.storyboard創(chuàng)建一個(gè)新的,添加UIImageView和約束,添加圖片,注意:圖片名稱(chēng)還得換成新的。

5、圖片不要放在Assets.xcassets里面,因?yàn)橹挥昧艘粡垐D(和兩張小切圖),放到外面的文件夾里。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容