建议阅读本篇文章前先具备iOS本地化的基本知识,Google中搜索“iOS本地化”,有成片的教程~~

  最近有个app需要支持英语、简体中文、繁体中文,由于启动页面上有文字,所以也不得不做下本地化处理。有一定开发经验的开发者都知道,从Xcode5开始,引入了Images.xcassets来管理图标、启动页面以及其它使用的图片等。不得不说,这是个好东西,我们不需要再自己记各种标准尺寸了

但是在Images.xcassets里设置的启动页面怎么本地化呢?在自己摸索加上StackOverFlow后,目前依然无解。。。如果知道的朋友可以在下边评论中分享一下。

  那么就只能类似于对普通图片那样来做本地化了,我尝试把几张LaunchImage命名为"Default-xxxh@2x.png"加进工程(Xcode4.6上的思维),然后按照普通的本地化方法,结果Xcode根本就不认识或者分不清这是什么尺寸的启动图片。好吧,果然还没到那么智能的地步- -。

  走到这一步后差不多确定,即使是启动图片,本地化的方法也只能按普通的来!但是怎么才能把这些图片“介绍”给工程认识呢?首先想到的肯定是应该在Info.plist里配置什么的,但是尝试添加时发现关于LaunchImage的只有这几项,如图

而且右边对应的都还是String类型,这尼玛肯定不科学啊,不同尺寸的图片,怎么说也得是个Array或者Dictionary什么的啊。又在StackOverFlow一番搜索(这真是个好地方),终于扒出了正解。既然不能直接在plist里选择,那就直接以源码方式打开,自己往里加吧。

  问题就这么解决了,将Info.plist右键,Open As -> Source Code,然后找个地方加入下边这样一对键值对(不要说你不知道往哪加。。。)

     <key>UILaunchImages</key>
<array>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default-736h</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{, }</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default-667h</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{, }</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>7.0</string>
<key>UILaunchImageName</key>
<string>Default-568h</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{, }</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>7.0</string>
<key>UILaunchImageName</key>
<string>Default-480h</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{, }</string>
</dict>
</array>

这只是个示例了,第一个是5.5的启动图片,第二个是4.7的,第三个是4的,第四个是3.5的。每个key的具体意思就不用我解释了,应该很容易看懂,"Default-736h"等只是名字而已,和你的对应尺寸图片名相同就行。具体可仿照此增删。加完后可以发现Info.plist以正常状态显示时多了一项

好吧,运行,感受一下,就这么愉快地解决了。

Xcode5和6上新建工程如何本地化启动页面的更多相关文章

  1. 本地计算机 上的 OracleOraDb11g_home1TNSListener 服务启动后停止

    今天玩oracle的时候突然遇到一个问题:本地计算机 上的 OracleOraDb11g_home1TNSListener 服务启动后停止.某些服务在未由其他服务或程序使用时将自动停止. 在网上找解决 ...

  2. MySQL 安装和启动服务,“本地计算机 上的 MySQL 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。”

    MySQL 安装和启动服务,以及遇到的问题 MySQL版本: mysql-5.7.13-winx64.zip (免安装,解压放到程序文件夹即可,比如 C:\Program Files\mysql-5. ...

  3. (转)解决:本地计算机 上的 OracleOraDb10g_home1TNSListener服务启动后停止

    原文地址:http://justsee.iteye.com/blog/1320059 手动启动一个问题:本地计算机 上的 OracleOraDb10g_home1TNSListener服务启动后停止. ...

  4. 在阿里云服务器上安装完成并启动Tomcat后,通过http不能访问--解决办法

    在阿里云服务器上安装完成并启动Tomcat后,通过http不能访问的原因是阿里云平台为了安全设置了安全组策略,必须我们授权的端口,其他计算机才能通过http访问 解决办法:(这里以阿里轻量应用服务器为 ...

  5. 【CentOS】centos7上查看服务开机启动列表

    centos7上查看服务开机启动列表 命令: systemctl list-unit-files; 点击回车,可以向下翻页查询

  6. mac上制作u盘启动盘

    Mac上制作Ubuntu USB启动盘 一.下载ubuntu iso镜像 二.将iso转换为img文件 $ hdiutil convert -format UDRW -o /path/to/gener ...

  7. Primecoin在windows上的部署和启动服务

     Primecoin在windows上的部署和启动服务: 一.从官方获得Primecoin的windows版安装包: 二.一路像安装客户端一样的安装: 三.安装成功后它会自动弹出客户端运行,同步数据, ...

  8. 为什么很多APP要有启动页面

    我们启动APP时,一般都会是一张含有LOGO的图片.这张图片叫做启动页面. 这个启动页面是必须.一定需要的吗?有什么作用?   这是苹果官方对于iOS启动页的设计说明:   为了增强应用程序启动时的用 ...

  9. phonegap/cordova 启动页面

    启动phonegap应用时,因为phonegap还在加载一系列的东西,总会出现一段时间的黑屏.解决方法是设置一个启动页面(闪屏)来过渡,让应用的用户体验更好一些. 先讲ios版本的: 首先,你需要准备 ...

随机推荐

  1. C# 操作 AppSettings节点

    1.实例 //1.简单获取内容 string value = ConfigurationManager.AppSettings["one"] as string; Console. ...

  2. 类型“XXX”的控件“XXXX”必须放在具有 runat=server 的窗体标记内。

    问题:类型“Grid1”的控件“XXXX”必须放在具有 runat=server 的窗体标记内. 注:Grid1为表格的ID. 查找网上的解决大致为: 1)把Grid放到<form runat= ...

  3. bootstrap小结

    bootstrap总结 bootstrap总结 base css 我分为了几大类 1,列表 .unstyled(无样式列表),.dl-horizontal(dl列表水平排列) 2,代码 code(行级 ...

  4. (二)CSS3应用 - 实现圆角

    html <link href="test.css" type="text/css" rel="stylesheet" /> & ...

  5. Effective C++ 第二版 5)new和delete形式 6) 析构函数里的delete

    内存管理 1)正确得到: 正确调用内存分配和释放程序; 2)有效使用: 写特定版本的内存分配和释放程序; C中用mallco分配的内存没有用free返回, 就会产生内存泄漏, C++中则是new和de ...

  6. PC机安装android apk | adb install -r

    PC 下载 *****.apk 通过adb直接安装到android系统

  7. 文件系统:介绍一个高大上的东西 - 零基础入门学习Python030

    文件系统:介绍一个高大上的东西 让编程改变世界 Change the world by program 接下来我们会介绍跟Python的文件相关的一些十分有用的模块.模块是什么?不知大家对以下代码还有 ...

  8. 异步编程设计模式 - IronPythonDebugger

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsof ...

  9. Go and JSON

    Go and JSON 在使用Go开发web项目的过程中, 数据库读写操作与JSON格式的输入输出是两块最基础的模块, Go的标准库已经帮我们做了很多, 熟悉database/sql与encoding ...

  10. shell中的for、while、until

    for var in list do commands done 在每个迭代中,变量var会包含列表中的当前值,第一个迭代会使用列表中的第一个值,第二个迭代使用第二个值. 在do和done中,$var ...