iOS 改变tabbarItemBadge

之前一直以为傻傻在当前的controller中写

self.tabBarItem.badgeValue = @"1";

其实是要在在tabbar的第一个controller里面写

- (void)setMsgBadgeWithNum:(int)num{

UIViewController *tController = [self.tabBarController.viewControllers objectAtIndex:2];int    badgeValue = [tController.tabBarItem.badgeValue intValue];tController.tabBarItem.badgeValue = [NSString stringWithFormat:@"%d",badgeValue+num];

}


当num=3时,有如下效果

这样第一次加载时tabbar时,badge就有了值了。而一般点击后badge会清空,这个效果只需要在当前controller的didload中写如下代码:

self.navigationController.tabBarItem.badgeValue = nil;

你可能感兴趣的:(iOS 改变tabbarItemBadge)