Question

Il est plus d'une question philosophique que tout, alors donnez-moi vos pensées.

La documentation iPhone SDK indique que vous pouvez avoir un contrôleur de barre d'onglet contient un contrôleur de navigation, mais vous ne pouvez pas avoir un contrôleur de navigation contient un contrôleur de barre d'onglets. Il semble qu'il y ait des moments où vous voudrez peut-être organiser des vues dans une vue qui fait partie d'une pile de contrôleur de navigation en mode tableau. Est-ce déraisonnable?

J'accepte ce que Apple dicte dans ces domaines comme l'évangile comme HIG ne fournit les meilleures pratiques qui semblent révéler le chemin de moindre résistance (je suis sûr qu'il ya des exceptions à cela). Dans la barre d'onglets cas, cependant, je ne suis pas sûr que le raisonnement de conception derrière elle. Peut-être qu'il est évident pour d'autres, mais je ne peux pas penser à une bonne raison pour laquelle vous ne permettrait pas à onglets comme tout sauf un contrôleur de vue racine.

Qu'est-ce que vous pensez tous / savoir? Quel défaut de conception serait-ce créer? Comment voulez-vous résoudre ce problème de vouloir une présentation sous forme de tableau vues dans une vue? Ai-je besoin de repenser la conception entière?

Merci.

Était-ce utile?

La solution

Je peux voir où ils viennent, du point de vue de la conception. Tabbars se sentent anchored, constante, où navbars se sentent dynamique et mutable. Ainsi, un onglet contenant du contenu dynamique est logique, alors qu'un seul point dans la hiérarchie dynamique d'une pile de navigation contenant une barre d'onglets, ancrée au fond de l'écran ne se sent pas droit. La mise en œuvre Three20 ne gère cela d'une manière qui est plus logique, l'ancrage des onglets sous la barre de navigation, afin qu'ils se sentent plus comme ils font partie de cet endroit dans la pile de navigation.

Cela dit, Tweetie roule sa propre barre d'onglets, si je me souviens bien, sans UITabBarController pour contourner ce détail dans les lignes directrices de l'interface utilisateur, et cela fonctionne tout à fait du point de vue de l'interaction.

Autres conseils

La réponse courte est que ce serait source de confusion pour l'utilisateur pour permettre UITabBars l'intérieur d'un contrôleur de navigation. L'application se comporterait certainement pas comme la plupart des utilisateurs attendent. Mais, c'est juste UITabBar, pas le concept de conception des onglets en général. Onglets à l'intérieur d'un contrôleur de navigation, devrait, à mon avis, de conception, allez en haut, pas le fond, tout comme un UITabBar.

Il y a plusieurs façons de le faire.

I ai fait « pattes » à l'intérieur d'une vue navigateur contrôleur en ayant la première rangée dans une vue de la table ont un sélecteur segmentée. (Voir l'application Hangtime sur l'App Store). Je pense que cela fonctionne assez bien, mais ils ne sont pas vraiment « onglets ».

Joe Hewitt, le gars qui a écrit l'application Facebook, résolu ce problème en créant son propre point de vue « de la barre d'onglet » et contrôleur, bien qu'il soit rendu tout à fait différemment d'un UITabBar. Cet élément est disponible dans le cadre Three20 et une bibliothèque open source. Vérifiez-le: http://github.com/joehewitt/three20/tree/master

Je pense que le contrôleur de barre d'onglets est destiné à être le point de navigation principale autour d'une application si elle est utilisée. Si un contrôleur de navigation contient un contrôleur onglet, puis les onglets changent à chaque fois que vous naviguez ailleurs, ce qui peut être source de confusion pour les utilisateurs qui sont habitués à les utiliser de la manière habituelle dans d'autres applications. Je pense que une bonne idée cependant, mais Apple ne se sentent pas de la même manière.

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