2011-09-30 2 views
1

J'ai un rootViewController qui est un UITabBarController. Un UIToolBar est présent dans ce contrôleur car il a un SearchBar qui est global pour l'application. Dans certains onglets, il devrait y avoir UIBarButtonItems ou UISegmentedControl, ainsi que searchBar. Dans les autres onglets, il ne devrait rien y avoir dans la barre d'outils, juste un titre.Afficher la hiérarchie avec UIToolBar et UITabBarController

Quelle est une bonne façon de disposer la vue? Actuellement basé sur quel onglet est sélectionné, le toolBar principal du rootViewController est soit utilisé tel quel, avoir un UISegmentedControl ajouté, caché complètement et remplacé par un autre viewController qui a sa propre barre d'outils, etc Pour moi, je pense que chaque viewController présent dans son propre onglet peut avoir sa propre barre d'outils et faire référence à la fonctionnalité globale, plutôt que de masquer/afficher différentes barres d'outils.

désolé si c'est une question compliquée. Je me demandais juste si les gens avaient de l'expérience avec ça. Merci.

Répondre

0

La réponse courte est qu'il n'y a pas vraiment un bon moyen de le faire. Si vous utilisez un contrôleur de barre d'onglets, la barre d'onglets sera toujours visible au bas de votre écran. Vraisemblablement, chaque onglet est un UINavigationController avec une barre de navigation en haut. Il n'y a pas d'endroit approprié pour placer les boutons de la barre d'outils dans cette disposition.

Une meilleure conception pourrait être d'abandonner le UITabBarController et d'utiliser un UINavigationController comme contrôleur de vue racine. Au lieu des onglets, vous pouvez avoir une vue de table avec un élément pour chaque vue de votre application. Ensuite, vous aurez la place pour une barre d'outils en bas de l'écran. En fait, UINavigationController prend en charge une barre d'outils en bas. Vous venez de remplacer la propriété toolbarItems pour renvoyer les éléments qui doivent apparaître dans chacun des contrôleurs de vue enfant. Vous aurez juste besoin de mettre toolbarHidden à NO sur le UINavigationController, et vous êtes prêt à partir.

Questions connexes