xcode6下storyboard国际化的一点思路
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xcode6下storyboard国际化的一点思路相关的知识,希望对你有一定的参考价值。
参考技术A 最近一个app需要实现切换语言的功能。实现过程如下:
1.获得目标语言包.lproj文件的bundle(一般都是mainBundle)
2.利用这个bundle指定你的table(若指定为nil则默认是Localizable.Strings),使用 func localizedStringForKey(key: String, value: String?, table tableName: String?) -> String
1.在xocde6里面,对storyboard进行国际化有两种形式,
就是interface builder storyboard和localizable strings两种。localizable strings这种是很常见的替换storyboard里的字符串文件,而interface builder storyboard则是一个完整的storyboard,你能修改更多东西(比如约束,图片等)但是要注意的是,这几个storyboard是独立的,就是说,比如你想要添加一个按钮,你要在这些stroyboard里逐个添加按钮,然后逐个连约束。
2.我国际化的storyboard使用的是interface builder storyboard这种形式,假如想再app内切换语言,第一就是切换Localizable文件,第二就是就是切换storyboard文件。
2.1 切换Localizable文件,可以拿到.lproj目录下的Localizable文件path作为bundle切换
2.2切换stroyboard文件,其实也是同样的拿到.lproj目录下的stroyboard文件,然后把keywindow的rootViewController切换成新stroyboard的initial Controller。
2.3 假如你成功切换storyboard之后你可能会发现,app里的图片都没了。这个时候需要对图片进行国际化,一个比较简单的做法就是,直接把需要用到的图片拖进行项目里(不放到Image.xcassets),然后点击图片右则属性栏进行国际化。
最后:建议storyboard的国际化放到项目最后再做,因为想要在添加什么ui元素的话要同时在多个storyboard上操作,十分没必要。。。
以上是关于xcode6下storyboard国际化的一点思路的主要内容,如果未能解决你的问题,请参考以下文章
为啥我在 Xcode6 Storyboard 中的项目变得不可见/半透明? [复制]
Mac OS app 用 StoryBoard开发的一点感想
Mac OS app 用 StoryBoard开发的一点感想
使用 Storyboard 在 UIImagePickerController 之上创建叠加视图
使用 Autolayout Xcode6 在 Universal Storyboard 中相对于 UIImage 定位 UILabel