Vous voulez supprimer un badge de l'onglet actuel, ou celui que vous avez touché?
Le bon endroit pour ce faire, de toute façon, est dans l'onglet délégué du contrôleur de barre, dans:
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController;
Notez que cette fonction est appelée à chaque fois que l'utilisateur tape sur un bouton de la barre d'onglets, que le nouveau contrôleur de vue affiché est différent de l'ancien, vous devez donc suivre votre contrôleur de vue visible actuel. C'est là que vous allez mettre à jour cela aussi:
- (void)tabBarController:(UITabBarController *)tabBarController
didSelectViewController:(UIViewController *)viewController {
if(viewController != self.currentTabVC) {
// if you want to remove the badge from the current tab
self.currentTabVC.tabBarItem.badgeValue = nil;
// or from the new tab
viewController.tabBarItem.badgeValue = nil;
// update our tab-tracking
self.currentTabVC = viewController;
}
}
possible doublon http://stackoverflow.com/questions/2476903/remove-bagde-from-tabbar-item – jer