Xcode設(shè)置啟動圖-LaunchScreen.storyboard 替代LaunchImage啟動圖適配

前言

蘋果提出從2020年4月份開始,所有支持iOS 13App必須提供LaunchScreen.storyboard,否則將無法提交到App Store進行審核。

因為最近提交AppApp Store月杉,需要處理啟動圖,在這里總結(jié)記錄一下抠艾。

方案

方案1:使用一張通用圖片

這種方案沒什么難度苛萎,主要是在LaunchScreen.storyboard中添加圖片并設(shè)置好約束(和平常添加圖片一樣),然后將準(zhǔn)備好的圖片設(shè)置好即可检号。這種方案在不同設(shè)備上可能會出現(xiàn)不同程度的裁剪腌歉。簡單粗暴處理。在Content Mode—>選擇Scale To Fill或者Aspect Fill,讓圖片自己壓縮齐苛。Scale To Fill會改變圖片寬高比翘盖,Aspect Fill會造成圖片顯示不全。

方案2:將素材進行分割加載凹蜂,當(dāng)成普通的storyboard文件進行相關(guān)處理馍驯。

這里就是將需要的啟動圖中的元素阁危,包括logo,文字汰瘫,圖片等單獨切出來狂打,然后跟普通頁面那樣加載UI控件等。這就可以解決了不同尺寸屏幕的適配問題以及包資源體積增大的問題吟吝。好處就是包體積小了適配各種機型更靈活(但是背景圖還是不可避免的要失去部分顯示效果)菱父,不好的地方就是以后要是換開屏圖,那么就要開發(fā)者有一定的工作量進行處理剑逃。
有的APP適合浙宜,有的不適合∮蓟牵看自己項目具體情況定吧

方案3:使用一套圖片(實現(xiàn)LaunchnImage效果粟瞬,適配不同屏幕)

目前市場上主要尺寸以及對應(yīng)圖片:

3.5寸的iPhone4s(640960)
4.0寸的iPhone5/5s/5c/SE(640
1136)
4.7寸的iPhone6/6s/7/8(7501334)
5.5寸的iPhone6p/6sp/7p/8p(1242
2208)
5.8寸的iPhoneX/XS/11Pro(11252436)
6.1寸的iPhoneXr/11(828
1792)
6.5寸的iPhone XS Max/11 Pro Max(1242*2688)

步驟:
一、設(shè)置圖片資源
  1. 在Xcode的Assets.xcassets中創(chuàng)建圖片組并且命名NewLaunchImage (隨意)萤捆。
  2. 右鍵圖片組 --> Show in Finder --> 進入修改Contents.json --> 修改相應(yīng)圖片組信息
 //修改前
 {
   "images" : [
     {
       "idiom" : "universal",
       "scale" : "1x"
     },
     {
       "idiom" : "universal",
       "scale" : "2x"
     },
     {
       "idiom" : "universal",
       "scale" : "3x"
     }
   ],
   "info" : {
     "version" : 1,
     "author" : "Xcode"
   }
 }

修改代碼為:

 //修改后
    {
      "images" : [
        {
          "idiom" : "iPhone",
          "scale" : "1x"
        },
        {
          "idiom" : "iPhone",
          "scale" : "2x"
        },
        {
          "idiom" : "iPhone",
          "scale" : "3x"
        },
        {
          "idiom" : "iPhone",
          "subtype" : "retina4",
          "scale" : "1x"
        },
        {
          "idiom" : "iPhone",
          "subtype" : "retina4",
          "scale" : "2x"
        },
        {
          "idiom" : "iPhone",
          "subtype" : "retina4",
          "scale" : "3x"
        },
        {
          "idiom" : "iPhone",
          "subtype" : "736h",
          "scale" : "3x"
        },
        {
          "idiom" : "iPhone",
          "subtype" : "667h",
          "scale" : "2x"
        },
        {
          "idiom" : "iPhone",
          "subtype" : "2436h",
          "scale" : "3x"
        },
        {
          "idiom" : "iPhone",
          "subtype" : "2688h",
          "scale" : "3x"
        },
        {
          "idiom" : "iPhone",
          "subtype" : "1792h",
          "scale" : "2x"
        }
      ],
      "info" : {
        "version" : 1,
        "author" : "Xcode"
      }
    }

修改前效果:


修改后效果:


  1. 將對應(yīng)圖片添加進入圖片組中(我這里美工少給了兩張裙品,大家按照尺寸放就可以了)
    注意??:不要整體拖進去,不會自動識別俗或,逐一添加市怎。


二、設(shè)置Xcode
  1. 設(shè)置Launch Screen File 文件名稱

2.將之前LaunchImage的設(shè)置去掉辛慰,否則會報錯区匠。(如果以前沒用assert方式設(shè)置啟動圖,默認為空)


將上圖位置清空

三帅腌、在LaunchScreen.storyboard上設(shè)置圖片
  1. 選中LaunchScreen.storyboard驰弄,勾選Use as Launch Screen的選項,注意此時不要取消Use Safe Area Layout Guides選項速客。(盡管你的項目適配iOS9.0以下會報錯戚篙,先不要管,如果取消了在后面布局設(shè)置中左右會有20像素的留白)

  2. 添加imageView控件


3.添加約束:設(shè)置圖片約束溺职,上下左右都為0
注意??:上下要設(shè)置邊界為View岔擂,否則會有白邊


  1. 此時選中帶劉海屏的手機模型,你會發(fā)現(xiàn)上下還是有留白


  2. 解決留白問題辅愿,在左窗口選中底部約束—>點擊右側(cè)的First item—>選擇Superview—>將Constant設(shè)置為0智亮,如下圖所示:



    同樣的方式,修改頂部約束:注意此時需要將 Second item—>選擇Superview



    修改完的效果如下:
  3. 此時將1中提到的Use Safe Area Layout Guides選項取消勾選点待,然后再將自己的啟動圖名稱添加上就可以了


  4. 將自己的啟動圖名稱添加上,(在第一步中的1步驟取的名字)


四弃舒、重啟Xcode癞埠,刪除手機上原來的工程状原。重新編譯安裝就可以了

注意??:如過沒有重啟Xcode,可能會沒有效果苗踪。。

五:修改啟動圖

在原來的文件下面替換圖片,不管沙盒刪啟動圖緩存、刪除app重裝吧黄、清理Xcode、重啟Xcode廓八、重啟電腦都沒用烦却,只有一個辦法车吹,重啟手機。所以我更換啟動圖就是換一個圖片名稱,在Assets.xcassets里面重新建一個圖片文件夾,重新添加圖片。

六:iPhone12系列

因為我的方法是通過LaunchImage衍生出來的徒像,iPhone12出來前LaunchImage已被禁用次慢,所以Xcode沒有iPhone12啟動圖對應(yīng)的設(shè)置,故沒辦法在Contents.json文件進行相應(yīng)的設(shè)置。(1x犁功、2x、3x都可以傳1242-2688px尺寸)

iPhone12用的都是3倍圖靴庆,而在Contents.json文件中沒有針對iPhone12的設(shè)置,所有怒医,他會使用對應(yīng)的3x圖炉抒。可以發(fā)現(xiàn)3x圖在以前機型是沒有被使用的稚叹,所有可以通過3x圖在進行iPhone12的啟動圖設(shè)置焰薄,而iPhone12機型的寬高比是固定的,所以這里面設(shè)置好也不會出現(xiàn)圖片被拉伸或者顯示不全等問題扒袖。

iPhone12系列開發(fā)尺寸:
12 min 375 * 812
12 AND 12 Pro 390 * 844
12 Pro Max 428 * 926

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末塞茅,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子季率,更是在濱河造成了極大的恐慌野瘦,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件飒泻,死亡現(xiàn)場離奇詭異缅刽,居然都是意外死亡啊掏,警方通過查閱死者的電腦和手機蠢络,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門衰猛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人刹孔,你說我怎么就攤上這事啡省。” “怎么了髓霞?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵卦睹,是天一觀的道長。 經(jīng)常有香客問我方库,道長结序,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任纵潦,我火速辦了婚禮徐鹤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘邀层。我一直安慰自己返敬,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布寥院。 她就那樣靜靜地躺著劲赠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪秸谢。 梳的紋絲不亂的頭發(fā)上凛澎,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天,我揣著相機與錄音估蹄,去河邊找鬼塑煎。 笑死,一個胖子當(dāng)著我的面吹牛元媚,可吹牛的內(nèi)容都是我干的轧叽。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼刊棕,長吁一口氣:“原來是場噩夢啊……” “哼炭晒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起甥角,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤网严,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后嗤无,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體震束,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡怜庸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了垢村。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片割疾。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖嘉栓,靈堂內(nèi)的尸體忽然破棺而出宏榕,到底是詐尸還是另有隱情,我是刑警寧澤侵佃,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布麻昼,位于F島的核電站,受9級特大地震影響馋辈,放射性物質(zhì)發(fā)生泄漏抚芦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一迈螟、第九天 我趴在偏房一處隱蔽的房頂上張望叉抡。 院中可真熱鬧,春花似錦井联、人聲如沸卜壕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽轴捎。三九已至,卻和暖如春蚕脏,著一層夾襖步出監(jiān)牢的瞬間侦副,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工驼鞭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留秦驯,地道東北人。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓挣棕,卻偏偏與公主長得像译隘,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子洛心,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容