1. 程式人生 > >適配iPhoneX詳解之iOS專案新增啟動圖片LaunchImage的3種方式

適配iPhoneX詳解之iOS專案新增啟動圖片LaunchImage的3種方式

啟動圖片

測試環境:

  • Xcdoe 9
  • iOS11

這篇文章,主要是解決公司釋出多個馬甲app,啟動圖片和圖片放到了專案普通資料夾下的情況,文章可以參考我之前寫的。 如果公司只是固定的產品,那直接放到Images.xcassets 下或者使用LanunchScreen.xib是最好的選擇!

首先,iOS專案新增啟動圖片有三種方式:

(1) 放到工程 Images.xcassets 資料夾下的中的【LaunchImage】圖片集合中。

(2) 放到工程下的普通資料夾中。

(3) 在LanunchScreen.xib中設定啟動圖片

下邊,我就iOS專案這三種方式,以適配iPhone X為例子進行說明。

iPhone X的啟動圖片格式

iPhone X的啟動圖片就一張,格式是1125px × 2436px (375pt × 812pt @3x)。

這裡@3x說明iPhone X的其他圖示都是 @3x圖,和啟動圖片沒什麼關係。你讓美工或者自己弄一張,大小是1125 × 2436的圖片就可以了!

至於圖片的命名,查閱了官方文件,沒有發現命名方法,如果有知道的朋友,請千萬告訴我一下!萬分感謝! 暫且,我依照蘋果命令規範,將iPhone X的啟動圖片命名為[email protected]

格式

【LaunchImage】圖片集合

如果沒有建立【LaunchImage】圖片集合的話,可以通過

  • step A: Target-> General
  • step B: App Icons and Launch Images
  • step C: 在【Launch Images Source】選項下點選點選 Use Asset Catalog 來設定 【LaunchImage】圖片集合。

注意一:剛建立【LaunchImage】集合,可能選項的位置並沒有如下圖顯示的這樣。這個時候重啟下專案就好了,算是Xcode的一個bug吧。

LaunchImage

然後把啟動圖片新增到工程 Images.xcassets 資料夾下的中的【LaunchImage】中。

注意二:如果你只是新增單張圖片進去,不識別。那直接把之前已經放的圖片刪除掉,加上iPhone X的啟動圖片重新拖動一下就好。

最後結果如下圖:

啟動圖片集合

網上很多說法是,把iPhone X的啟動圖片拖進去,還需要在在LaunchImage中的Contents.json檔案中增加

{

"extent" : "full-screen",

"idiom" : "iphone",

"subtype" : "2436h",

"filename" : "圖片名字.png",

"minimum-system-version" : "11.0",

"orientation" : "portrait",

"scale" : "3x"

}

這裡我實驗的結果是,直接拖進之後,這段json就已經生成了,不需要手動新增。

放到工程下的普通資料夾中

這種方式需要對啟動圖片(應用圖示也是)的格式,命名,數量都有要求。並且需要在對應的Info.plist中設定一些引數。 這部分設定可以在我之前寫的 《26- iOS專案基礎一 - 官方應用圖示和啟動圖片的尺寸規範和相應的工程設定》 中檢視,也可以在下載官方Demo自己比對。

官方下載Demo

命名,圖片數量和官方demo比對

下邊說新增iPhone X的啟動圖片,把圖片拖進資料夾後,需要在info.plist檔案的 UILaunchImages中新增Item,具體新增內如如下:

info.plist

注意:

(1) 打包ipa包上傳到iTunes Connect中,會檢查工程中是否添加了完整的啟動圖片,之前的經驗,這種新增啟動圖片和圖示的方式打包上傳的話,如果圖片命令有問題,直接在Application Loader校驗階段就會報錯,拒絕上傳請求。 但是我前邊說過,沒有查到官方指定的iPhone X啟動圖片的命名,也沒有試過這種新增方式上傳會不會有問題被拒絕,等到試驗後告訴大家。

(2) 多target不要忘了每個info.plst都新增!

在LanunchScreen.xib中設定啟動圖片

因為出現的時間較近,很多老專案都沒有采用,新專案沒采用。所以偷懶不說了,官方原話是推薦這種方式,然後新增一張static image圖片。我查閱,但是沒了解該圖片是什麼意思,類似pdf格式的?

有興趣的朋友可以試驗下該種方式,或者有文章,在評論裡留言和簡信我,我新增到此位置!

官方說明

更多問題,歡迎加群討論:qq群 :565191947

相關推薦

iPhoneXiOS專案新增啟動圖片LaunchImage的3方式

啟動圖片測試環境:Xcdoe 9iOS11這篇文章,主要是解決公司釋出多個馬甲app,啟動圖片和圖片放到了專案普通資料夾下的情況,文章可以參考我之前寫的。 如果公司只是固定的產品,那直接放到Images.xcassets 下或者使用LanunchScreen.xib是最好的選

iOS13 即將到來,iOS 推送 DeviceToken 方案

關於提前適配iOS13 蘋果推送DeviceToken的通知 隨著蘋果iOS13系統即將釋出,個推提前推出DeviceToken適

Android劉海屏精煉

一、前期基礎知識儲備 話不多說,這麼多劉海屏手機今年集中爆發,所以儘管劉海屏不好看,但是還是要適配。 2017年蘋果X開啟了劉海屏時代,2018年集中爆發,紛紛採取劉海屏這一策略來實現全面屏的概念,所以Android手機對於劉海屏的適配也是比較重要的。所謂適配劉海屏,其實就是處理與

手機端rem如何_rem及網頁自適應

什麼是rem 在我看來,rem就是1rem單位就等於html節點fontsize的畫素值。所以改變html節點的fontsize是最為關鍵的一步。根據手機寬度改變相對大小就可以實現自適應了,就不用什麼媒體查詢那些的。 我們的設計圖往往寬度是640或者其他尺寸的,不過我

Linux搭建vsftp服務器通過三方式實現文件傳輸

x86 sys fig passwd 問題: mage vpd cee 啟用 概述 FTP(File Transfer Protocol)中文稱為“文件傳輸協議”。用於Internet上的控制文件的雙向傳輸。 工作原理 一、主動模式: 1、客戶端通過用戶名和密碼登錄服務器

leetCode 349號題目 兩個陣列的交集 ,python3兩方式實現, 複雜度分別為O(n^2) 和 O(n)

給定兩個陣列,編寫一個函式來計算它們的交集。 示例 1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2] 示例 2: 輸入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 輸出: [9,4] 說明: 輸出結果中的每個元素一

Go開發Struct轉換成map兩方式比較

詳解Go開發Struct轉換成map兩種方式比較     本篇文章主要介紹了詳解Go開發Struct轉換成map兩種方式比較,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧   最近做Go開發的時候接觸到了一個新的orm第

建立Java多執行緒的兩方式

      多執行緒的建立與使用是java工作學習中常見的內容,一直對多執行緒懷有神祕感,今天就把自己對多執行緒的理解分享給大家,供學習交流。       程序:程序(Process)是計算機中的程式關於某資料集合上的一次執行活動,是系統進行資源分配和排程的基本單位,是作業

Date.parse()與Date.getTime()方法(js獲取時間戳的幾方式

這兩個方法的返回值都是 1970/1/1 午夜距離該日期時間的毫秒數 實際中如何使用 下面的例子中,我們將取得從 1970/01/01 到 2017/03/19 的毫秒數 1、Date.parse()的 使用 var d = Date.pa

vue中的元件通訊的幾方式(一)

 在另一篇文章我們會談及祖父孫三級之間的通訊,傳送門:vue元件通訊的方式(二) 1.父元件向子元件傳值(繫結屬性): 首先我們定義一個父元件father.vue: <template> <div> <h1>父元件</h1

及對比建立執行緒的三方式

一.Java建立執行緒的三種方式 Java中建立執行緒主要有三種方式: 1.繼承Thread類 2.實現Runnable介

Xcode9 iOS11 iPhoneX heightForHeaderInSection、contentInset失效解決 contentInsetAdjustmentBehavior

1.iPhoneX基本屬性 啟動圖尺寸:1125px × 2436px(即 375pt × 812pt @3x)) iphoneX 螢幕高:812.0個點 導航欄高度+狀態列高度:88.0個點(導航欄高度仍是44個點,狀態列高度增高為44個點,所以劉海的高度並不是狀

iOS APP啟動圖片iPhoneX

iOS專案的新增啟動圖片有三種方式: (1) 放到工程 Images.xcassets 資料夾下的中的【LaunchImage】圖片集合中。 (2) 放到工程下的普通資料夾中。 (3) 在LanunchScreen.xib中設定啟動圖片 詳解介紹方式

iOS 開發 Object-C和JavaScript互動OC與JS互動在WKWebView中使用

1.OC與JS互動在UIWebView中使用 2. WKWebView的使用詳解 3.OC與JS互動在WKWebView中使用 // // ViewController.m // oc與js互動WKWebView // // Cr

iOS激情資料夾建立,移動,複製,刪除以及歸檔和反歸檔

<span style="font-size:18px;">主要程式碼精髓:</span> #import "RootViewController.h" #import “DXModel.h" #define kDocumentPath [NSS

IOS SDKNSArray/NSMutableArray

原創Blog,轉載請註明出處 前言:本文會首先講一下本人使用NSArray的幾個小技巧,然後詳解下常用的屬性和方法。 一 NSArray/NSMutableArray簡介    NSArray儲存的是一組物件的陣列,這些物件是有序的,NSArray內容不可改變,如果需要可

iOS開發iPhone X 齊劉海處理,程式碼iPhoneX

我的簡書新地址,歡迎點選檢視哦~ 今天手頭工作完事了,然後升級了Xcode9,變化很大啊,先說大家一直關心的適配齊劉海吧. 這個東西好像出來之後 我QQ群裡面iOS開發的很多人都炸了.確實這個齊劉海對我們開發者很不友好,往上xib的專案適配文章已經有了,但是

iOS激情Core Data

先了解一下 Core Data 它相當於封裝了sqlite 1.Core Data 是資料持久化儲存的最佳方式,一般資料最終的儲存型別可以是:SQLite資料庫,XML,二進位制,記憶體裡,或自定義資

ios激情動畫3D旋轉晃動

// // Created by WDX on 15/9/23. // Copyright (c) 2015年 WDongXu. All rights reserved. // #import "

iOS 開發 多執行緒Pthread實現多執行緒

pthread基礎 實現多執行緒的技術方案之一. pthread是POSIX thread的簡寫.表示跨平臺的執行緒介面. 多執行緒的開發框架,由於是跨平臺的C語言框架,在蘋果的標頭檔案中並沒有詳細