我的xib中有8个UITabBar。我已经在我的代码中链接了那些UITabBarItems,所以我在我的主窗口UITabBarController的viewDidLoad方法中进行了本地化。 例如。 tabBarItem1.title = NSLocalizedString(@“TAB1”);
我的问题是,在更改“配置”部分中的订单后,不在前面的项目会将原始的非本地化标题保留在.xib文件中。
任何帮助??
答案 0 :(得分:1)
您可以轻松设置所有UITabBar图标。您可以在viewWillAppear方法中执行此操作:
[[self.tabBarController.tabBar.items objectAtIndex:0] setTitle:NSLocalizedString(@"Aitul", @"comment")];
[[self.tabBarController.tabBar.items objectAtIndex:1] setTitle:NSLocalizedString(@"Aitor", @"comment")];
[[self.tabBarController.tabBar.items objectAtIndex:2] setTitle:NSLocalizedString(@"Eibar", @"comment")];
[[self.tabBarController.tabBar.items objectAtIndex:3] setTitle:NSLocalizedString(@"Primeran", @"comment")];
答案 1 :(得分:0)
在每个视图控制器中,您可以让他们使用
之类的东西设置标题[[self tabBarItem] setTitle:NSLocalizedString(@"TAB1")];
这可能有助于防止您的应用混淆。我认为tabBarItem是你可以引用的东西之一(比如在navigationcontroller中设置标题)。
答案 2 :(得分:0)
我指出了一个解决方案。理想情况可能是更改 didEndCustomizingViewControllers 上的tabBarItem标题。
self.selectedIndex = 3;
[self.selectedViewController.tabBarItem setTitle:@"SSDDD"];
这样可行,但如果我使用非静态字符串,例如NSLocalizedString()方法,则不会。也适用于4个可见选项卡项中的本地化字符串。看起来很奇怪。
答案 3 :(得分:0)
我通过两个步骤来解决这个问题::)
首先,在Storyboard或.xib中单击UITabBar的TabBarItem。然后,打开属性检查器,在选项卡栏项目中,选择标识符为 CUSTOM 。然后,设置标记 (在我的例子中:0,1,2)最后,将此TabBar连接到ViewController。就我而言:
@property (weak, nonatomic) IBOutlet UITabBar *tabBar;
其次,在viewDidLoad:方法
中打开ViewController.mfor (UITabBarItem *tabBarItem in [self.tabBar items]){
NSInteger tag = tabBarItem.tag;
switch(tag){
case 0:
[tabBarItem setTitle:@"Title 1"];
break;
case 1:
[tabBarItem setTitle:@"Title 2"];
break;
case 2:
[tabBarItem setTitle:@"Title 3"];
break;
}
P / S:我的英语写作能力差。对不起,如果它让你感到不舒服