Faites des noms plus courts, ou n'utilisez pas de barre de tabulation. Vous aurez cinq ou six contrôleurs de vues, mais seuls deux d'entre eux seront accessibles à un moment donné ? Si deux tiers de vos vues seront dans la liste "plus", pourquoi ne pas simplement les afficher toutes dans une liste ? Vous pourriez ainsi récupérer l'espace en bas de l'écran et aucune vue ne nécessiterait de clics supplémentaires.
Si vous voulez vraiment faire cela, vous devriez écrire un remplacement pour UITabBarController
. J'ai regardé dans UIKit
et j'ai même essayé de faire un swizz -_viewControllersInTabBar
mais la limite de cinq boutons est supposée à plusieurs endroits dans le texte de la loi. UITabBarController
donc il vaut mieux que vous écriviez le vôtre.
Vous avez peut-être remarqué que certaines applications iPad, comme YouTube, comportent plus de cinq éléments dans la barre d'onglets :
(source : <a href="http://images.apple.com/ipad/features/images/overview_youtube_20100225.jpg" rel="nofollow noreferrer">apple.com </a>)
Comment est-ce possible, si UITabBarController est tellement obsédé par le fait de ne pas avoir plus de cinq contrôleurs de vue ? Peut-être qu'Apple a ajouté une sorte de méthode privée à UITabBarController
dans le SDK 3.2 qui pourrait vous aider. Peut-être que cela s'appelle quelque chose comme -_setMaximumNumberOfItems:
et peut-être qu'il fixe un NSUInteger
variable d'instance appelée _maxItems
. Si Apple ajoutait une telle méthode privée, il faudrait encore attendre la sortie d'une version de la 3.2 compatible avec l'iPhone, et même alors, l'utilisation de méthodes privées est mauvaise.
Changez le nom de vos onglets. Ce n'est pas un gros problème.