Je suis tombé sur une situation intéressante, j'ai une application iPhone avec 3 UITableViewController
s affichant chacun plus ou moins les mêmes données (vous pouvez dire qu'il s'agit d'un filtrage). À ce jour, j'avais 3 NIB distincts pour cela, chacun avec son propre contrôleur, en plus les UITableViewController
étaient à l'intérieur de UINavigationController
pour le plaisir des boutons sur le dessus. Maintenant, pour optimiser l'application et réduire son empreinte, j'emballe toute la logique à un contrôleur commun (un UITableViewController
) et a laissé un seul NIB en place. Le contrôleur commun prendrait soin de filtrer les données et de pointer vers les données correctes.UITableViewController avec UITabBarController ne s'affiche pas
Donc, je charge le même contrôleur commun à 3 des contrôleurs de navigation:
navControllerA = [[UINavigationController alloc] initWithRootViewController: commonTableController];
et ajouté ces contrôleurs de navigation au UITabBarController
:
navigationControllersArray = [NSArray arrayWithObjects: navControllerA, navControllerB, navControllerC, nil];
[tabController setViewControllers:[NSArray arrayWithArray:navigationControllersArray]];
Maintenant, tout est très bien, la affichage des onglets, les vues de la table s'affichent. Mais une fois que vous touchez le UITabBarItem
suivant et revenir à la précédente UITableViewController
ne s'affiche pas, vous pouvez seulement voir un UIWindow
à sa place. Le UITableViewController
reste visible uniquement pour le dernier contact UITabBarItem
.
Y a-t-il une sorte de mécanisme de chargement de vue UITabBar
que je ne connais pas?