7
votes

Masquer un élément dans la barre à onglets?

J'ai actuellement un certain nombre de jetons de vue qui ont une relation avec mon tabbarcontroller via Storyboard. Compte tenu de certains paramètres, j'aimerais faire de manière programmable une certaine mode de vision cachée ou visible. Je peux cacher l'ensemble de l'onglet, mais ce n'est pas ce que je suis après. Je joue dans des interwebs Xcode et récurenant les interwebs, mais je ne trouve pas de solution. quelque chose sur les lignes de dessous qui ne me travaille pas!

[[self.tabBarController.tabBar.items objectAtIndex:2] setHidden:YES];


0 commentaires

3 Réponses :


0
votes

Pour modifier un uitabbar code>, définissez son éléments code> propriété sur quelque chose de nouveau

UITabBar *tabBar = self.tabBarController.tabBar;
NSMutableArray *newTabs = [NSMutableArray arrayWithArray:tabBar.items];
[newTabs removeObjectAtIndex: 2];
tabBar.items = newTabs;


1 commentaires

Ne fonctionne pas: "NsinternalconsisconsisencyException", Raison: "La modification directe d'une barre d'onglets gérée par un contrôleur de barres d'onglets n'est pas autorisée."



9
votes

Utilisé de code similaire pour résoudre le problème.

NSMutableArray *newTabs = [NSMutableArray arrayWithArray:self.tabBarController.viewControllers];
[newTabs removeObjectAtIndex: 3];
[newTabs removeObjectAtIndex: 2];
[self.tabBarController setViewControllers:newTabs];


1 commentaires

Bonjour, comment ajouter cette barre d'onglets Retour par programme



3
votes

Il s'avère que vous pouvez le faire en une seule ligne: xxx

suppose que 1 est l'index de l'élément que vous souhaitez supprimer.


1 commentaires

Malheureusement, cela modifie les indices des autres onglets qui peuvent casser la fonctionnalité. Ce serait vraiment agréable de pouvoir simplement cacher un onglet.