Question

Mon application iPhone a un contrôleur de barre d'onglets en bas de la vue - et au moment j'ai trois boutons. Cependant, je veux ajouter plus, mais pour le faire, je dois tourner la dernière des trois boutons en un bouton « Plus ... », parce que sinon le texte sur les autres boutons se jette dans l'autre.

Je sais que si vous avez plus de 5 boutons dans la barre d'onglets, il crée automatiquement un bouton plus - mais est-il possible d'appeler manuellement ce avec les fonctions d'édition

Merci.

Était-ce utile?

La solution

Vous ne devez pas créer manuellement un bouton « Plus ... ». Ajoutez simplement tous les contrôleurs de vue que vous devez le contrôleur barre d'onglets et il se chargera du reste.

Autres conseils

Vous pouvez définir le dernier bouton de la barre comme un bouton « Plus », même quand il n'y a que trois onglets. Le code d'initialisation pour cet élément de barre d'onglets serait:

self.tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemMore tag:0];

Faites vos noms plus courts, ou ne pas utiliser une barre d'onglets. Vous aurez cinq ou six contrôleurs de vue, mais seulement veulent deux seront accessibles à un moment donné? Si les deux tiers de vos vues seront dans la liste « plus », pourquoi ne pas afficher que tous dans une liste? Ensuite, vous pouvez récupérer l'espace en bas, et pas de vue, il faudrait avoir des robinets supplémentaires.

Si vous voulez vraiment faire cela, vous devez écrire un remplacement pour UITabBarController. Je regardais à travers UIKit, et même essayé swizzling -_viewControllersInTabBar, mais la limite de cinq boutons est supposais en plusieurs endroits dans UITabBarController, vous feriez mieux d'écrire votre propre.

Vous avez peut-être remarqué que certaines applications iPad, comme YouTube, ont plus de cinq éléments de la barre d'onglets: text alt
(source: apple.com )

Comment cela peut-être, si UITabBarController est si obsédé par ne pas avoir plus de cinq contrôleurs de vue? Peut-être que Apple a ajouté une sorte de méthode privée pour UITabBarController dans le SDK 3.2 qui pourrait vous aider. Peut-être que quelque chose comme ce qu'on appelle -_setMaximumNumberOfItems: et peut-être définit une variable d'instance de NSUInteger appelé _maxItems. Si Apple a fait ajouter une telle méthode privée, vous auriez encore besoin d'attendre une version compatible iPhone de 3,2 à être libéré, et même alors, en utilisant des méthodes privées est une mauvaise chose.

Modifier vos noms de onglets. Non pas que grand d'une affaire.

il est donc impossible de même faire 6 vue de l'application de la barre d'onglet?

même si le nom de chacun est super court

disons quelque chose comme ça

rouge rouge rouge rouge rouge

au lieu de jaune jaune jaune jaune jaune

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