2010-10-23 8 views
0

Je crée une application iPad basée sur un UINavigationController (avec la barre cachée) afin que je puisse pousser et faire apparaître d'autres viewControllers pour la navigation autour de l'application. Cependant, je veux maintenant ajouter une section dans laquelle il y a deux viewControllers que je veux pouvoir basculer, donc en d'autres termes, ils sont côte-à-côte, plutôt que hiérarchiques.Puis-je utiliser UITabBarController comme un simple sélecteur viewController?

Est-il correct d'utiliser un UITabBarController pour cela? Je suis conscient que sur l'iPhone, il est recommandé qu'ils sont utilisés uniquement au niveau de la racine de l'application, mais comme il s'agit d'une application iPad, je me demandais si je pouvais l'utiliser? Aussi, je suppose que j'ai besoin de créer un viewController vide, créer un UITabBarController dedans et lui assigner le délégué, puis ajouter les deux viewControllers à lui ... Donc en effet j'aurai un viewController dans un autre viewController, et quand j'ai fait que dans le passé, les résultats ont été très floconneux.

Puis-je le faire de cette façon? La seule autre façon que je peux penser de le faire est d'avoir deux plans UIView dans un UIViewController, mais cela signifie aussi que je ne devrais pas vraiment mettre toute logique métier en eux (mauvais MVC!), Et ne pas être en mesure d'être un bonne douleur dans le a **.

Des idées?

Merci!

: -Joe

EDIT: Je dois aussi être en mesure de glisser-Animer entre les deux VCs dans le TabBarController, et une barre de menu sur le dessus qui ne ... anime pas ce que je peux faire ?

Répondre

1

Bien sûr.

Je fais ce genre de chose partout dans une application sur laquelle je travaille. J'ai en fait plusieurs différents types de "barres d'outils" qui peuvent être affichées en option à différents moments. Ce que je fais est de créer un membre "parent" dans la classe de ma barre d'outils - et quand un bouton est pressé, la barre d'outils appelle une méthode dans la classe parent pour faire tout ce qui doit être fait - (ie afficher une autre vue).

Cela évite tout ce gâchis de créer une vue dans une autre vue (ou viewcontroller dans un autre viewcontroller - ou autre) - la barre d'outils peut prendre les coups de bouton, mais tous les vues sont ouvertes par la vue/contrôleur racine.

Espérons que cela aide/a du sens!

+0

Voulez-vous dire que vous ajoutez une propriété parent à UITabBarController? En ce moment, j'ai créé une classe qui étend UITabBarController et met la logique métier dans ce ... Est-ce la bonne façon de le faire? Puis-je définir son délégué à lui-même? Merci pour l'aide :) – jowie

+0

Le préalable - ajouter (et définir) une propriété "parent" - et faire les appels pour manipuler les vues à travers le * parent *. – Brad

+0

ah ok, donc vous parlez d'utiliser le UITabBarController juste pour ses onglets graphiques, plutôt que la structure interne ... Je voulais faire l'inverse malheureusement ... Si je commence à manipuler des vues à travers le parent, alors je peut également ne pas utiliser un UITabBarController. En l'état, je ne pouvais pas l'obtenir pour animer comme je le voulais, alors je suis de retour à deux UIViews. – jowie

Questions connexes