iphone代码 - 从viewController更改tabBar徽章值

时间:2009-12-22 21:59:42

标签: iphone objective-c

我有UITabBarController

如何从badge value创建/更新tabBar项目的viewController

在ib中创建的tabBar项目。

我使用IBOutlet UITabBar *tabBar将tabBar项目连接到控制器。

感谢。

5 个答案:

答案 0 :(得分:69)

如果您的viewcontroller已经有一个标签栏控制器与之关联,您可以深入查看标签栏项并设置其徽章,如下所示:

[[[[[self tabBarController] tabBar] items] 
                   objectAtIndex:tabIndex] setBadgeValue:badgeValueString];

其中tabIndex是您要设置的标签项的索引,badgeValueString是您要在标签上设置的字符串值。

答案 1 :(得分:27)

使用视图控制器的tabBarItem实例直接访问标签栏项,而不是深入查看它。

[self.tabBarItem setBadgeValue:badgeValue];

答案 2 :(得分:2)

如果您的应用FirstSecondThird

中有三个标签

标签索引从0开始

First  tab index 0
Second tab index 1
Third  tab index 2

如果您想在Second标签

中设置徽章值5

objectAtIndex:1传递1(第二个标签的标签索引),为setBadgeValue:@"5"传递5(徽章价值)

[[self.tabBarController.tabBar.items objectAtIndex:1] setBadgeValue:@"5"];

此外,您可以清除/移除徽章值传递nil以获取空格标签

[[self.tabBarController.tabBar.items objectAtIndex:1] setBadgeValue:nil];

答案 3 :(得分:1)

        int indexICareAbout = 2;
        NSString *badgeValue = @"10";

        [[[[[self tabBarController] viewControllers]
        objectAtIndex: indexICareAbout] tabBarItem] setBadgeValue:badgeValue];

答案 4 :(得分:0)

以下是Tabbar with Badge Value

的示例代码