1

我有一个 iPad 应用程序(XCode 4.6、iOS 6.2、Storyboards 和 ARC)。我正在尝试本地化 UISegmentControl。我已经在 MainStoryboard.strings 文件中有翻译,并且在控制器的 viewDidLoad 中有这段代码:

    //  set titles of UISegmentedControls
NSString *resourcePath  =[[NSBundle mainBundle] pathForResource:@"MainStoryboard" ofType:@"strings"];
NSDictionary *resourceDict = [NSDictionary dictionaryWithContentsOfFile:resourcePath];

[self.oDeleteOldAppts setTitle:[resourceDict objectForKey:@"jcy-vN-Nq9.segmentTitles[0]"] forSegmentAtIndex:0];
[self.oDeleteOldAppts setTitle:[resourceDict objectForKey:@"jcy-vN-Nq9.segmentTitles[1]"] forSegmentAtIndex:1];
[self.oDeleteOldAppts setTitle:[resourceDict objectForKey:@"jcy-vN-Nq9.segmentTitles[2]"] forSegmentAtIndex:2];

问题是resourcePathresourceDict都是零。我如何为当前语言获取它们,无论是en还是其他语言?

4

2 回答 2

0

不要这样做。您可以通过编辑相应语言的 .strings 文件来本地化故事板。当 iOS 显示视图时,它会自动抓取正确的本地化并显示它。

编辑:如果您想从字符串文件中提取某些内容,请执行以下操作:

[[NSBundle mainBundle] localizedStringForKey:@"someKeyHere" value:nil table:@"MainStoryboard"];
于 2013-06-15T01:54:08.010 回答
0

由于 UISegmentedControls 无法将其标题本地化,因此我将它们替换为从 GitHub 获得的 RadioButtons;本地化标签,将单选按钮移到它们旁边,它就像一个冠军。

更新 一个问题 - 似乎没有任何方法可以将设置从运行到运行,因此,这是行不通的。我现在正在创建自己的自定义按钮并模拟 UISegmentedControl。工作没有问题...

于 2013-06-15T14:51:57.817 回答