Comme beaucoup d'autres développeurs, j'ai créé des projets iPhone qui utilisent un UITabBarController
en tant que contrôleur racine, avec les vues en onglet utilisant UINavigationController
s pour explorer les listes en détail. . Et comme beaucoup d'autres développeurs, je dois migrer ces applications vers l'iPad pour profiter de l'écran plus grand (et surtout, ne pas forcer l'utilisateur à utiliser la visualisation «double» pour les applications iPhone uniquement).Migration d'un projet iPhone sur une barre d'onglets vers l'iPad
Apple a créé le UISplitViewController
pour ce scénario exact ... apparemment. Je dis apparemment parce que même si je le vois utilisé dans Paramètres, iPod, iTunes, etc., aucune de ces applications n'utilise UISplitViewController
dans un UITabBarController
, car il est non seulement documenté comme ne fonctionne pas, mais les applications peuvent se bloquer si ces deux sont forcés dans un mariage de fusil de chasse. Envisagez une application iPhone hypothétique tout sur les animaux. Il a trois onglets: "Catégories" (où les animaux sont catégorisés par une méthode simple - peut-être nous avons une hiérarchie à deux niveaux avec des catégories comme "Birds" et "Fish"), "Recherche" (qui utilise un UITableView
standard et un UISearchDisplayController
), et "Histoires", qui sont des histoires sur les animaux (peut-être il ya une histoire sur les grenouilles, et une autre sur les chevaux nerd informatiques qui se sont transformés en l33t licornes).
Alors que les « Catégories » et « Rechercher » sont deux onglets qui pourraient être fusionnées, il est pas évident que vous pouvez ou devez fusionner la liste des animaux avec les histoires sur les animaux. Ainsi, alors que vous aimeriez utiliser un UISplitViewController sur l'iPad (avec la recherche intégrée dans la "racine", à gauche, sur le côté de la séparation), comment présentez-vous la vue "Stories"? Utilisez-vous un contrôleur segmenté? Haut ou bas? "Root" ou "Détail" vue de la scission? Ou peut-être utilisez-vous un écran d'accueil (comme l'application iPad de WebMD) qui affiche deux boutons ("Catégories" et "Histoires"), puis affiche une vue partagée pour l'utilisateur qui tape? Ou une barre d'outils en haut ou en bas? J'ai essayé de regarder plusieurs autres applications, y compris les paramètres, Mail, iPod, iTunes, Contacts, Maps et ainsi de suite, mais aucun d'eux ne présente deux types d'informations "différents" dans une seule application.
Quelle est l'approche générale ici? Y a-t-il des meilleures pratiques? Des modèles généraux que la communauté de programmation iPad a adopté?
Ou est-ce que j'attends et croise les doigts qu'Apple a finalement permis à UISplitViewController
de fonctionner sans avoir besoin d'être la "racine"? (Cela pourrait ne jamais arriver!)
+1 pour licornes l33t ... – Jasarien