1. 程式人生 > >啟動圖也要實現國際化。

啟動圖也要實現國際化。

以下兩種方案都能很好的解決有關啟動圖國際化的問題,掌握這兩種方案,會讓你對啟動圖的問題處理的遊刃有餘。

 

第一種方案

 

第一步  點選專案名稱,選擇 TARGETS,選擇 General,找到 Launch Screen File, 將該項清空並回車(預設的是 LaunchScreen.storyboard)。



第二步  點選專案名稱,選擇 PROGECT,選擇 Info,找到 Localizations,點選+號(之後按照預設勾選下一步就好),為系統新增本地國際化語言環境,系統預設開發語言為 English,我們這次再增加一個語言環境----簡體中文。


第三步  這一步是比較重要的。找到系統的 Info.plist 檔案,點選右鍵,選擇用 SourceCode 的方式開啟檔案。


第四步  將下圖中我寫好的一段程式碼貼入到 Info.plist 檔案中,如果你感覺這樣不太爽,也可以直接在 Info.plist 中直接新增鍵值對。



新增之後 Info.plist 增加了以下的鍵值對(注意千萬不要寫錯 key 和 value),為了方便,這次的講解中只涉及到了 iPhone6 和 iPhone6 Plus 兩個機型的啟動圖配置。



此時,你可以 command + R 執行一下,如果沒有出錯,啟動圖已經出來了(但是你切換語言後,你會發現還沒有實現國際化)。


第五步  將 UI 設計好的啟動圖資原始檔新增到專案工程中。然後點選下圖箭頭指向的地方,將其國際化。勾選 English 和 Chinese,Base 暫時可以不用勾選。


第六步  此時你會發現你剛剛新增的啟動圖資原始檔目錄變成了下面這個樣子。點選 Show in Finder,找到檔案目錄。在 en.Iproj 中放入英文的啟動圖,在 zh-Hans.Iproj 中放入中文的啟動圖。


對於 iPhone6 Plus 的啟動圖,重複第五步和第六步即可。此時你就完成了 iPhone6 和 iPhone6 Plus 的啟動圖國際化。將語言切換到 English,效果如下圖所示:


對於啟動圖的配置測試,需要特別注意,一定要刪掉應用程式後,重新執行,否則是看不到效果的。切記,切記。

總結:以上方案雖然能解決在不同語言環境的手機上顯示對應語言的啟動圖,但是效能並不是最優的解決方案。因為每一種機型,每增加一種語言我們就需要在資源中新增一張圖片,這麼大的啟動圖,無疑會增加我們工程包的大小。為了讓效能更優,我們可以選擇採用第二種方案。

 

第二種方案

 

第一步  將兩種(英文和中文)語言的啟動圖拖入專案中,新建 LaunchScreen.storyboard,並區分命名。


第二步  在每個LaunchScreen.storyboard 中新增 ImageView,並設定約束為上下左右為0,設定兩個 storyboard 中 Imageview 的 image 為剛才新增的啟動圖(注意對應語言環境)。


第三步  新建一個 .string 檔案,命名為 InfoPlist.string (切記一定要用這個名字)。將該檔案國際化後,然後在不同語言環境的檔案中配置使用不同的 LaunchScreen.storyboard。



經過以上以上幾步的操作,如果沒有出現錯誤,那麼就完工了,效果跟第一個方案一樣,就不再貼圖了。再次說明下,測試的時候,請先解除安裝後,再進行測試。

<key>UILaunchImages</key>

<array>

<dict>

<key>UILaunchImageName</key>

<string>Default-667h</string>

<key>UILaunchImageMinimumOSVersion</key>

<string>8.0</string>

<key>UILaunchImageSize</key>

<string>{375,667}</string>

<key>UILaunchImageOrientation</key>

<string>Portrait</string>

</dict>

</array>


相關推薦

啟動實現國際化

以下兩種方案都能很好的解決有關啟動圖國際化的問題,掌握這兩種方案,會讓你對啟動圖的問題處理的遊刃有餘。   第一種方案   第一步  點選專案名稱,選擇 TARGETS,選擇 General,找到 Launch Screen File, 將該項清空並回車(預設的是

即使沒人註視,努力成長許多眼睛,都藏在你看不見的地方!

希望 一起 單詞 發出 今天 logs 眼睛 cnblogs .com 更新一下今天的學習進度:以後每天都會更新,倘若有啥感悟想說的話也會一起發出來,希望更多的人能和我一起堅持下去:   1.每天背誦50個英文單詞,復習鞏固了52個單詞,進度: 1350/348

兩個按鈕相關聯:改變員工級別,其對應的薪資相應改變(框架要求:SSM )

碰到一個需求: 升遷時:只允許修改僱員級別與部門編號,或新增部門,其他欄位不能修改.僱員底薪要相應改變. js介面獲取的值如下:員工級別從字典中獲取到,把級別對應的底薪用datalist顯示,往action傳的值為對應的員工級別; <tr> <td&

自己選擇的路,就算跪著走完

 最近寫了一個多星期的並查集,一瞬間貼出這麼多解題報告,我想關於並查集的應用先告一段落吧,先總結一下。 在網上看到一篇關於並查集比較好的教程(姑且允許我這麼說吧),不轉過來是在可惜。獻給愛學習的你 文章作者:Slyar 文章來源:Slyar Home (www.s

自己選擇的路,跪著走完

洛谷3381,最小費用最大流模板題 輸入格式: 第一行包含四個正整數N、M、S、T,分別表示點的個數、有向邊的個數、源點序號、匯點序號。 接下來M行每行包含四個正整數ui、vi、wi、fi,表示第i條有向邊從ui出發,到達vi,邊權為wi(即該邊最大流量為wi),單位流

憤怒是會傳染的,即使遇上不順心的事,保持微笑

一,路過心靈上的故事   那天,我站在一個珠寶店的櫃檯前,把一個裝著幾本書的包放在旁邊,在我挑選珠寶時,一個衣著講究的男士也過來看珠寶,我禮貌的把我的包移開,但這個人卻憤怒的瞪著我,告訴我他是正人君子,絕對無意偷我的包,他覺得他受到了侮辱,走出了珠寶店,重重的把門摔上。“哼,

IDictionary 序列化一定實現父類實現了ISerializable介面的,子類必須有序列化建構函式,否則反序列化時會出錯

//public class ThreadSafeDictionary<TKey, TValue> : IDictionary<TKey, TValue>, ICloneable [Serializable] public class

[外文理解] DDD創始人Eric Vans:實現DDD原始意圖,必須CQRS+Event Sourcing架構

由於 interview ont pos 面向 trac height amp style 原文:http://www.infoq.com/interviews/Technology-Influences-DDD# 要實現DDD(domain drive

“懶”有境地---大部分程序猿都在的地方,再不來就out了

公眾賬號 rac 經驗 回復 賬號 左右 post 程序 content 別人在玩。你也在玩,為什麽別人天天進步,職業晉升。而你則原地踏步。事實上你和他的距離僅僅有一個微信公眾號的距離。 假設你說。我根本沒有時間學習,不想看書,我僅僅想睡覺。我想你要接著往下看,由

Java集合框架上機練習題:編寫一個Book類,該類至少有name和price兩個屬性該類實現Comparable接口,在接口的compareTo()方法.....

ext .cn 數據庫 識別 方法 屬性 set package compareto 編寫一個Book類,該類至少有name和price兩個屬性。該類要實現Comparable接口,在接口的compareTo()方法中規定兩個Book類實例的大小關系為二者的price屬性的

pushbutton成為可點擊的標(實現全透明,不論點擊與否都只顯示Icon)(就是一個萬能控件)

name 點擊 strong alt -cp log oar lai nbsp 需求 需要2個按鈕,一個是音樂開關,一個是關閉窗口,此文章關閉pushButton的透明問題(hovered+pressed都不會有背景色和邊框的變化) 原理

這次無論如何寫下來了

經歷了一週的ssm學習之後,也算是懂了皮毛了。下面發一個困擾了我一天的失誤。     package com.cn.lin.service.impl; import javax.annotation.Resource; import org.springfra

這麼長的儲存區過程讓我改,我都不知道每個表對應是幹啥的,欄位沒有說明真的崩潰了

ALTER PROCEDURE [dbo].[proc_yeyoo_sfdz] @date1 varchar(40), @date2 varchar(40), @gbdm varchar(100) as select gbdm,sum(cz_jy_jbzc)cz_jy_jbzj,SUM(cz_

雜湊(Hash)資料結構,使用C語言實現s傻瓜

雜湊資料結構是一種非常簡單,實用的資料結構。原理是將資料通過一定的hash函式規則,然後儲存起來。使查詢的時間複雜度近似於O(1)。進而大大節省了程式的執行時間。 雜湊表的原理如圖 原來的資料可以直接通過雜湊函式儲存起來,這樣在搜尋的時候,等於每一個數據都有了自己的特定查詢號碼,

Esp8266 進階之路32【高階篇】當esp8266遇到 Html,該怎麼內建網頁控制裝置,理清內建網頁的實現過程,實現無需路由器手機可以控制esp8266(附帶韌體)

一、前言; 這個月也快結束了,時間真快,我伺服器知識自學依然在路途中,這幾天聽到熱點網頁配置esp8266連線路由器,那麼我想這個不是很複雜,不過需要一些通訊協議的基礎,以及對esp8266

【Android】android開發之splash閃屏頁的四種實現方式,啟動頁的實現教程

作者:程式設計師小冰,GitHub主頁:https://github.com/QQ986945193 首先給大家看一下今天實現的效果圖(其他三種都差不太多底下詳細介紹): 這個啟動頁實現的方法是四種,兩種是利用handler,其它兩種是利用了動畫的方式。 具體給大家貼一下

jQuery新版本沒有了Toggle事件,兩個按鈕分別控制隱藏顯示,同事這兩個按鈕點選互斥

十二月沒來得及整理髮布,一直在草稿箱。現在已經2019年1月了。。。   需求大概是這樣的   //XX點選事件 var flagBar = 0; $("#doNotBaseRate").click(function () { if (flagBar == 0) { $("#De

jQuery新版本沒有了Toggle事件,兩個按鈕分別控制隱藏顯示,同事這兩個按鈕點擊互斥

hide fun 點擊 flag 新版本 nbsp 同事 query 控制 十二月沒來得及整理發布,一直在草稿箱。現在已經2019年1月了。。。 需求大概是這樣的 //XX點擊事件 var flagBar = 0; $("#doNotB

前端開發人員會的切技巧(二)

之前介紹了傳統的切圖技巧,主要用於切多張圖片的時候,但很多時候我們可能只需要切一兩張圖示,如果還用傳統的方法就會很繁瑣,所以這次分享一種匯出單個圖示的方法。 沒有psd檔案的,我這裡準備了一份,需要的可以去下載 psd練習檔案 (和之前的一樣) htt

“媽媽,我不想學了”,你的回答改變孩子一生(悵然若失,說了一句話:“為什麼當初沒有人逼我?”我不願意學,你就不讓我學啦!那時候我還小,我還不懂事,難道你不懂事嗎。要做成一件事,就必須有延遲滿足的能力)

“媽媽,我不想學了”,你的回答改變孩子一生(組圖)新聞來源: 槽值 前兩天,送孩子去書法班的時候,在小區門口看到一位媽媽,她正拽著孩子往車裡進,孩子哭著掙扎:“我不想學舞蹈了,我不去,太累了……” 媽媽怒吼著:“你今天去也得去,不去也得給我去!” 最終,孩子還是拗不過媽媽,上了車,去學舞蹈。 我不禁想