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.1模拟器的storyboard应该怎么用

为啥我在 Xcode6 Storyboard 中的项目变得不可见/半透明? [复制]

Mac OS app 用 StoryBoard开发的一点感想

Mac OS app 用 StoryBoard开发的一点感想

使用 Storyboard 在 UIImagePickerController 之上创建叠加视图

使用 Autolayout Xcode6 在 Universal Storyboard 中相对于 UIImage 定位 UILabel