我的应用中有一个标签,其中包含一个徽章编号,基于3个不同时间发生的3种不同操作。我知道如何使用以下方式设置标签栏徽章:
[[[[[self tabBarController] tabBar] items]
objectAtIndex:3] setBadgeValue:[NSString stringWithFormat:@"%d", (int)thetabbadge]];
我想要做的是获取当前徽章编号是什么(0表示什么都没有,或者可能已存在的任何数字),并通过另一个NSInteger增加它。有没有办法读取当前的徽章编号属性?
答案 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];