2010-07-30 15 views
1

Le senario est, je un TabbarViewController, qui contient l'onglet {A, B, C, D}. Après que l'utilisateur a cliqué sur Tab: B, à la place Tab (A, B, C, D), je veux montrer {E, F, G} comme l'élément Tabbar sur le Tabbar.UITabbarController: Y at-il un moyen de basculer Tabbar Elément (s) de Tabbar

Existe-t-il un moyen de changer de jeu d'éléments de tabulation? Je suis un débutant à iOS. Merci!

EDIT: J'ai également essayé de modifier self.tabbarcontroller.tabbar.items, mais j'ai eu une exception d'exécution, a déclaré que tabbar.items ne peut pas être modifié directement.

\ EDIT trouvé un moyen de résoudre ce scénario: Utilisez un contrôleur de navigation, et pousser un TabbarView qui utilise {A, B, C, D}, et si B est touché, pousser un autre TabbarView au contrôleur de navigation
@joelm merci pour votre aide!

saluer, Stellit

Répondre

0

Le UITabBarController maintient un tableau de ViewControllers qui correspondent aux boutons que l'utilisateur voit. Vous pouvez changer un contrôleur, mais méfiez-vous que cela provoquera le rechargement de tabBarController Tous les contrôleurs qui pourraient ne pas être ce que vous voulez.

+0

comment puis-je changer le contrôleur? puis-je les changer après? Ou y a-t-il un moyen qui me permet de masquer la barre d'onglets avec l'item {A, B, C, D} et de les montrer à nouveau quand je veux? – Stellit

+0

Je vous suggère fortement de lire la documentation de UITabBarController, elle vous indique que vous ne pouvez pas modifier la barre d'onglets, elle est seulement là pour référence. Mais vous pouvez échanger les contrôleurs de vue aussi souvent que vous le souhaitez et vous pouvez couvrir la barre d'onglets quand vous le souhaitez. Remplacez juste un viewController dans la propriété viewControllers. La vue racine ne peut pas couvrir la barre d'onglets elle-même. (Si c'était le cas, vous ne seriez jamais capable de découvrir la barre d'onglets.) Donc, je suggère d'ajouter une nouvelle vue qui couvre la barre d'onglets, puis peut être supprimée lorsque vous voulez afficher à nouveau la barre d'onglets. – joelm

+0

Trouvé un moyen de résoudre ce scénario: Utilisez un contrôleur de navigation, et appuyez sur un TabbarView qui utilise {A, B, C, D}, et si B est touché, poussez un autre TabbarView sur le contrôleur de navigation Merci joelm – Stellit