Question

Comment puis-je supprimer un UITabBarItem d'un UITabBar?

Je n'ai pas essayé quoi que ce soit, parce que je ne l'ai pas trouvé quoi que ce soit à partir de recherches Google ou la documentation UITabBar, UITabBarController ou UITabBarItem.

Merci d'avance! :)

Était-ce utile?

La solution

Autres conseils

conseils de Mike Caron lancera une exception si vous avez l'intention de modifier un tabBar qui appartient à un contrôleur.

  

Dans iOS 3.0 et versions ultérieures, vous ne devriez pas   tenter d'utiliser les méthodes et   propriétés de cette classe pour modifier la   barre d'onglet lorsqu'il est associé à un   onglet barre d'objets du contrôleur. modificatrice   la barre d'onglets de cette manière entraîne la   lancer une exception. Au lieu de cela, tout   modifications à la barre d'onglets ou son   articles devraient se produire dans la barre d'onglets   Interface de contrôleur. Vous pouvez encore   modifier directement un objet de barre d'onglet   est pas associée à une barre d'onglets   contrôleur.

Dans ce cas self.tabBarItem=nil va le supprimer.

NOTE: cela semble ne pas travailler dans iOS 11. Il était encore bon dans iOS 10

.

Ceci est une réponse modérément horrible, à mon avis, en partie parce qu'il est subvertir les directives d'interface humaine, mais tout de même, il semble fonctionner proprement:

UITabBar *oldbar = self.tabBarController.tabBar;
UITabBar *newbar = [[UITabBar alloc] initWithFrame:CGRectMake(0,0,oldbar.frame.size.width,oldbar.frame.size.height)];
NSMutableArray *olditems = [[oldbar items] mutableCopy];
[olditems removeObjectAtIndex:0];
NSArray *newitems = [[NSArray alloc] initWithArray:olditems];
[newbar setItems:newitems animated:false];
[oldbar addSubview:newbar];

Que des couches sur le dessus proprement elle de l'ancienne barre d'onglets, et il maintient sa fonctionnalité.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top