我正在在我的App Delegate中通过编程方式创建和添加UITabBarController。我的标签栏中有5个视图控制器,也就是5个视图。
我想从控制器中设置不同标签的标题。
请帮助我完成这个操作。
谢谢。
我想从控制器中设置不同标签的标题。
请帮助我完成这个操作。
谢谢。
NSArray *tabBarItemTitles = [NSArray arrayWithObjects: @"Title1", @"Title2", @"Title3", nil];
for (UIViewController *viewController in self.viewControllers)
{
viewController.title = [tabBarItemTitles objectAtIndex: [self.viewControllers indexOfObject: viewController]];
}
这将把每个视图控制器的标题(在导航控制器顶部显示的标题)设置为tabBarItemTitles数组中匹配的标题。
如果您想设置tabBarItem中的文本,请执行以下操作:
NSArray *tabBarItemTitles = [NSArray arrayWithObjects: @"Title1", @"Title2", @"Title3", nil];
for (UItabBarItem *item in self.items)
{
item.title = [tabBarItemTitles objectAtIndex: [self.items indexOfObject: item]];
}
每个选项卡标签中显示的标题通常对应于相应ViewController的标题。
例如,如果我有一个包含五个选项卡的tabBarController,则表示我的tabBarController中有5个视图控制器。第一个选项卡的标题将是第一个视图控制器的标题属性,以此类推。换句话说,如果您已经这样做了,
[myFirstViewController setTitle:@"First"];
如果您想让某个标签的标题为“First”,可以采用以下方法:
通过获取 UITabBarItem(UIBarItem 的子类)并自己设置标题,您也可以直接操作标题。但通常只有在一个 viewController 的标题过长无法正常显示时才需要这样做。