建议阅读本篇文章前先具备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. python查看删除你微信的账号

    #应用环境:python2.7 #!/usr/bin/env python # coding=utf-8 from __future__ import print_function import os ...

  2. Stm32高级定时器(二)

    Stm32高级定时器(二) 1 主从模式:主?从? 谈论主从,可知至少有两个以上的触发或者驱动信号,stm32内部有多个定时器,可以相互之间驱动或者控制. 主模式:定时器使能只受驱动时钟控制或者输出控 ...

  3. OC特有语法-分类(category)

    本文转载Keefo. Objective-C的Object-oriented programming特性提供subclass和category这2个比较非常重要的部分.subclass应该反复被各种编 ...

  4. get请求与post请求

    1. get是从服务器上获取数据,post是向服务器传送数据.2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过H ...

  5. C#远程获取/读取网页内容

    转载自 :http://blog.csdn.net/gisfarmer/article/details/2836904 using System; using System.Collections.G ...

  6. Win7 32位系统下Java开发环境的安装及配置

    目录: Java JDK安装. Java JDK系统环境的配置. 配置常见问题的解决. Java JDK的安装 Java Jdk(Java Development Kit)Java开发不可缺少的环境, ...

  7. 5 输出的properties文件按照key进行排序

    import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileNotFoundException; ...

  8. (转+原)python中的浅拷贝和深拷贝

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6069722.html 原网址: http://blog.csdn.net/sunshine_in_mo ...

  9. [linux] linux知识积累(不断更新中…)

    一.vim知识 f(find)命令也可以用于移动,fx将找到光标后第一个为x的字符,3fd将找到第三个为d的字符. D 删除当前字符至行尾.D=d$ :split或new 打开一个新窗口,光标停在顶层 ...

  10. Java学习笔记--JDBC数据库的使用

    参考  hu_shengyang的专栏 : http://blog.csdn.net/hu_shengyang/article/details/6290029 一. JDBC API中提供的常用数据库 ...