Ich bin in eine interessante Situation geraten, ich habe eine iPhone App mit 3 UITableViewController
s jede mehr oder weniger die gleichen Daten (Sie können sagen, es ist eine Frage der Filterung). Bis heute hatte ich 3 separate NIBs dafür, jedes mit seinem eigenen Controller, zusätzlich waren die UITableViewController
s innerhalb UINavigationController
wegen der Tasten an der Spitze.UITableViewController mit UITabBarController wird nicht angezeigt
Jetzt, um die App zu optimieren und ihren Platzbedarf zu reduzieren, packe ich die gesamte Logik auf einen gemeinsamen Controller (ein UITableViewController
) und ließ nur eine NIB an Ort und Stelle. Der gemeinsame Controller würde sich darum kümmern, die Daten herauszufiltern und auf die korrekten Daten zu zeigen.
Also, lade ich die gleichen gemeinsamen Controller 3 der Navigation-Controller:
navControllerA = [[UINavigationController alloc] initWithRootViewController: commonTableController];
und hinzugefügt, um diese Navigationscontroller zum UITabBarController
:
navigationControllersArray = [NSArray arrayWithObjects: navControllerA, navControllerB, navControllerC, nil];
[tabController setViewControllers:[NSArray arrayWithArray:navigationControllersArray]];
alle jetzt in Ordnung ist, die Tabs anzeigen, erscheinen die Tabellenansichten. Aber sobald Sie den nächsten UITabBarItem
berühren und zum vorherigen zurückgehen, wird der UITableViewController
nicht angezeigt, Sie können nur einen UIWindow
in seinem Platz sehen. Die UITableViewController
bleibt nur für die zuletzt berührte UITabBarItem
sichtbar.
Gibt es eine Art von UITabBar
Ansicht Lademechanismus Ich bin mir nicht bewusst?