有 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 基本本地化)

使用 XIB(界面生成器)在 iOS 中进行本地化

使用 NSLocalizedString 或 .xib 进行本地化

如何将本地化的界面文件(XIB、Storyboard)作为 xcode 项目结构并进行国际化工作?

从资源包(非主)加载本地化的 xib 文件

ViewController 不会在本地化应用程序中加载其 xib 文件每当我删除并重新安装时?