我正在UITabBarController
我的 App Delegate 中以编程方式创建和添加。
我的标签栏中有 5 个视图控制器,这意味着 5 个视图。
我想从控制器设置不同选项卡的标题。
请帮我做。
谢谢
我正在UITabBarController
我的 App Delegate 中以编程方式创建和添加。
我的标签栏中有 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"];
然后“第一”将是您的标签的标题。
您还可以通过检索 UITabBarItem(UIBarItem 的子类)并自己设置标题来直接操作标题,但这通常仅在您的 viewController 标题之一太长而无法正确显示时才需要。