有 2 个 xib 时进行本地化
Posted
技术标签:
【中文标题】有 2 个 xib 时进行本地化【英文标题】:Make Localized when having 2 xibs 【发布时间】:2013-03-07 13:42:15 【问题描述】:我也为 ios 5 调整了我的 iOS 6(带自动布局)应用程序。 我必须创建 2 个 xib,并根据 iOS 版本加载每一个。就像它解释的here,
我还本地化了 iOS 6 xib,它完美地切换到了语言(西班牙语和英语),但 iOS 5 版本没有。 iOS 5 xibs 我后来添加了它们,我创建了所有的 ViewControllers,所以它可能没有正确链接。我不确定 iOS 如何决定加载 xib 的版本(西班牙语或英语)。
我尝试这个来初始化我的视图控制器,但是 XIB 中的图像没有加载,我也希望它像 iOS 6 一样自动,使用这个我必须检查语言并设置 pathForResource
NSString* path= [[NSBundle mainBundle] pathForResource:@"en" ofType:@"lproj"];
NSBundle* languageBundle = [NSBundle bundleWithPath:path];
self = [super initWithNibName:nibNameOrNil bundle:languageBundle];
有什么想法吗?
谢谢。
【问题讨论】:
签出***.com/questions/8712049/… 当我尝试不加载图像时。文本字段和其余元素都在那里,但缺少背景图像。它必须与捆绑包做一些事情,但我不太了解它,我不知道如何修复它。 【参考方案1】:我知道出了什么问题。 iOS 5 的 XIB 文件与 iOS 6 文件位于不同的文件夹中,因此当我为该 XIB 加载捆绑包时,无法访问所需的图像。 所以我改变了 XIB 文件的位置并且它起作用了!
【讨论】:
以上是关于有 2 个 xib 时进行本地化的主要内容,如果未能解决你的问题,请参考以下文章
XLIFF 中的 xib 中缺少字符串(Xcode 基本本地化)
使用 NSLocalizedString 或 .xib 进行本地化