设置UITabBar的标题

Posted

技术标签:

【中文标题】设置UITabBar的标题【英文标题】:Setting Title of UITabBar 【发布时间】:2009-07-16 16:16:38 【问题描述】:

我正在我的 App Delegate 中以编程方式创建和添加 UITabBarController

我的标签栏中有 5 个视图控制器,这意味着 5 个视图。

我想从控制器设置不同标签的标题。

请帮我做。

谢谢

【问题讨论】:

【参考方案1】:
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]];

【讨论】:

【参考方案2】:

标签栏中每个标签显示的标题一般与对应的ViewController的标题相对应。

例如,如果我有一个带有五个选项卡的 tabBarController,那么这意味着我的 tabBarController 中有 5 个视图控制器。第一个选项卡的标题将是第一个视图控制器的标题属性,等等。换句话说,如果你这样做了,

[myFirstViewController setTitle:@"First"];

那么“First”将是标签的标题。

您还可以通过检索 UITabBarItem(UIBarItem 的子类)并自己设置标题来直接操作标题,但这通常仅在您的 viewController 标题之一太长而无法正确显示时才需要。

【讨论】:

所以如果我想使用 UITabbarItem 那么我需要做什么。就像当我做 tabBarController.tabBarItem.title ..... 它没有工作。如何获取所有 5 个选项卡的 tabBarItem。 @rkbang: "myUITabBarController.tabBar.items" 返回该标签栏的 UITabBarItems NSArray。

以上是关于设置UITabBar的标题的主要内容,如果未能解决你的问题,请参考以下文章

无法设置我的 UITabbar 的代表

UITabBar 色调颜色不适用于图像

UITabbar 背景图像重复出现

UITabBar 背景图像未正确显示

当视图在栏上时为 UITabBar 设置单独的标题与更多...?

在 UITabBar 控制器上设置图像