2012-04-01 4 views
0

In dieser Frage beziehe ich mich auf die App Einstellungen, die mit allen iDevices geliefert wird. Meine App besteht aus vielen verschiedenen Zellen, die in mehreren UITableViews enthalten sind. Wenn Sie eine beliebige Zelle auswählen, wird eine neue Tabelle mit einer neuen Liste von Zellen angezeigt, in der die Auswahl einer Zelle eine Funktion ausführen oder eine andere neue Tabelle aufrufen kann. Ich hoffe, dass sie ähnlich wie die oben erwähnte App "Einstellungen" funktioniert. Was wäre eine effizientere Möglichkeit, dies zu tun: ein paar (2 oder 3) UITableViews mit vielen "if" und "else if" -Anweisungen, die die Ergebnisse der einzelnen Zellenauswahl oder viele UITableViews, die jeweils ihre haben eigene Klasse und wird jeder einer bestimmten Zelle zugeordnet? Oder gibt es eine dritte Option?Wie kann ich eine Einstellungen-ähnliche Navigationsstruktur erstellen?

Antwort

0

Während ich mit @PhillipMills zustimme, ist die Antwort, die Sie suchen, Sie sollten einen UIViewController oder eine Unterklasse davon für jeden Bildschirminhalt haben. So würde beispielsweise die Einstellungs-App mit einem View-Controller strukturiert sein, um die erste gruppierte Tabellenansicht der großen Bereiche (Flugmodus, WLAN, Benachrichtigungen, Ortungsdienste usw.) zu verwalten. Durch das Antippen einer dieser Zellen, z. B. Benachrichtigungen, wird die didSelectRowAtIndexPath-Methode dieser Tabellenansicht aufgerufen, die einen NotificationsDetailViewController einer bestimmten Art lädt und auf den Stack des NavigationControllers verschiebt. Der NotificationDetailViewController wäre eine weitere gruppierte Tabellenansicht mit allen Benachrichtigungsinformationen. Das Gleiche gilt für die anderen Abschnitte, in denen jeder Abschnitt seinen eigenen Detailansicht-Controller hat, sofern zutreffend.

0

Ich würde eine Strategie empfehlen, dass es funktioniert, bevor man sich zu sehr um die Effizienz sorgt. Apple gibt Ihnen dafür bereits eine Struktur basierend auf einem Navigations-Controller und die Fähigkeit, neue Controller zu pushen. Mit dem bekommen Sie Dinge wie in der Lage zu sein, zurück zu verfolgen wo Sie herkommen oder ziemlich kostenlos zurück zur obersten Ebene.

+0

Während ich dem zustimme, was du sagst, beantwortet es meine Frage nicht wirklich. Wäre es für mich besser, für jedes Ziel einen anderen Viewcontroller zu erstellen oder einfach ein paar sehr große Viewcontrollers zu erstellen, die alles handhaben können? Ich möchte nicht stundenlang auf einen gehen, nur um herauszufinden, dass es viel besser wäre, auf den anderen zu wechseln. – Garrett

Verwandte Themen