如果APP是支持多语言的,那么图片国际化必不可少,普通资源的国际化不在此做赘述了,主要说一下启动图的国际化以及实现过程中遇到的坑。
1、使用launchImage的国际化方法
苹果提供了一个info.plist设置的key叫做UILaunchImages,顺利实现启动图国际化。UILaunchImages
是一个数组,每个对象对应了一个启动图,每个启动图有四个键需要设置,分别为名字、最低版本、大小、方向。这里每个启动图都有几套,分别对应需要设置的每个多语言的版本,下面的操作先使用一套即可,比如使用中文的那套启动图。(参考:http://www.hudongdong.com/ios/559.html)
尝试这种方法后,发现一个问题,启动图片不会根据语言环境的变化而变化,也就是说,在你安装APP之后,切换了手机的语言环境,但APP的启动图并没有自动跟着做出调整,必须将APP卸载重装之后,才能体现出效果。
2、使用LaunchScreen.storyboard实现国际化
使用这种方法后,发现前面提到的问题依然存在,启动图片不会根据语言环境的变化而变化,需要卸载重装。如果想对启动图上的文本做多语言,LaunchScreen.storyboard确实获取到了.String文件的翻译,但是不论如何切换语言环境,始终仅获取英文版翻译,不会切换到中文翻译文件中。PS: 这里, 说明一点。 启动页只会保留一份, 也就是说, 你第一次加载完以后, 切换了语言, 再重新打开App, 它的启动页不会跟着更新的。 这也符合苹果的用户交互指引。
如果你想要动态修改启动页面图LaunchImage, 抱歉!根据苹果的用户交互指引,该页面是在程