iOS启动页国际化

作者: 似奔跑的野马 | 来源:发表于2018-03-26 21:35 被阅读417次

最近在做国际化项目,遇到需要国际化启动照片。国际化启动照片有2种方式。
方式1.根据不同的启动语言,配置不同的启动storyboard。
方式2.通过UILaunchImags,进行配置对应的启动照片。

下面进入主题,先说说如何使用storyboard。
1.在info.plist文件中,如图:

选中Show Raw keys/values
选中Show Raw keys/values,加入UILaunchStoryboardName 对应的key。
配置对应的启动storyboard
2.创建对应语言启动的storyboard,如LaunchScreen-cn.storyboard,以及LaunchScreen-en.storyboard.在storyboard中添加一个控制器,并且设置为Is Initial View Controller
创建的启动故事板

3.在项目中创建 InfoPlist.strings文件(记住文件名不能改,否则不生效)。
点击InfoPlist.strings,点击右边的localization,初始化对应的语言版本。
如我选择了英文和简体中文,得到如下,


不同的本地化文件

点击对应的文件编辑如下对应的启动storyboard。

UILaunchStoryboardName = "LaunchScreen-English";

此时大功告成,卸载掉app,重新启动就可以看见你设置的不同启动页了。
关于启动页原理,就是本地生成了一张照片,有兴趣的可以用模拟器运行,然后到沙河看看。
用storyboard启动是不是很简单。
NOTE:关于启动页的控制器能不能初始化子控制器,答案是不能。原因,借用stackoverflow的一段解释

Note that you can not add any other custom class to LaunchScreen. It is an ViewController to just show while app is about to start. In this phase of app life cycle nothing has yet been started. Its almost similar to static image ( It used to be only static image till iOS7 ). Starting for iOS9 or XCode 7 only it was changed to storyboard previously it used to be XIB file. Hence you can not add custom class objects to LaunchScreen as this is a phase where app is still to be loaded or started.

简单解释下,就是说启动页开始时,app还没有进入运行循环(什么是运行循环,此处不做解释),单纯加载了一张静态照片。
如果你强制会报错。


子类化启动storyboard

最后补充下。关于Xcode9适配iOS8,创建storyboard去掉 use safe Area Layout Guides,就好了。

关于UILaunchImages国际化,我就不再累赘了。感兴趣的可以看,讲的很仔细。
在此说明关于app名以及字符串国际化,可以参照一张思维导图。国际化思维导图

iOS软件启动图的多语言化

相关文章

  • iOS适配启动页

    iOS适配启动页 iOS适配启动页

  • iOS启动页国际化

    1.项目添加国际化 project-info-Localizations 添加需要国际化的语言 2.打开stror...

  • iOS启动页国际化

    最近在做国际化项目,遇到需要国际化启动照片。国际化启动照片有2种方式。方式1.根据不同的启动语言,配置不同的启动s...

  • Flutter 启动页

    启动页 IOS启动页,在ios/Runner/Assets.xcassets/LaunchImage.images...

  • iOS App 名称国际化

    2020-07-15 整理 App 名称国际化 图片、文字国际化 强制默认显示某种语言 启动图国际化 iOS10 ...

  • iOS LaunchImage启动页 标准尺寸

    iOS LaunchImage启动页 标准尺寸

  • 启动页LaunchImage国际化(最新整理)

    前言: 文字和图片的国际化我想不必多说,但是偏偏我发现我们项目启动页有几个文字而且我启动页用的 LaunchIma...

  • iOS启动页国际化(多语言)

    据说有两种方式,本人尝试第一种方法不行,查询之后改为第二种方法,可行。 第一种方法 建一个launchScreen...

  • 你所知道 & 不知道的app启动页

    0 本文目录 1 什么是app启动页?2 为什么要有启动页?3 合理的启动页是什么样?4 iOS和android...

  • iOS 启动页

    两种方式,一种是使用系统自带的,按规则定义启动图片名称即可,显示为1秒,要想延长时间,用[nsthread sle...

网友评论

    本文标题:iOS启动页国际化

    本文链接:https://www.haomeiwen.com/subject/ilxdcftx.html