获取标签栏的当前徽章数量

时间:2014-06-25 19:01:49

标签: ios uitabbarcontroller badge

我的应用中有一个标签,其中包含一个徽章编号,基于3个不同时间发生的3种不同操作。我知道如何使用以下方式设置标签栏徽章:

[[[[[self tabBarController] tabBar] items]
          objectAtIndex:3] setBadgeValue:[NSString stringWithFormat:@"%d", (int)thetabbadge]];

我想要做的是获取当前徽章编号是什么(0表示什么都没有,或者可能已存在的任何数字),并通过另一个NSInteger增加它。有没有办法读取当前的徽章编号属性?

1 个答案:

答案 0 :(得分:3)

您可以使用属性badgeValue

您的代码看起来像是五年前创建的,点缀符号更容易阅读。你也应该尝试不要在一行中做太多。

UITabBarItem *itemToBadge = self.tabBarController.tabBar.items[3];
int currentTabValue = [itemToBadge.badgeValue intValue];
int newTabValue = currentTabValue + 1; // Or whatever you want to calculate
itemToBadge.badgeValue = [NSString stringWithFormat:@"%d", newTabValue];