2008-12-04 11 views
6

Es ist also trivial, eine Einstellungs-Stil-Tabelle auf dem iPhone zu erstellen. Das Problem ist, sie fügen eine Menge Code hinzu, da Ihre Einstellungen eine Palette von Optionen/Stilzellen enthalten. Ein Abschnitt könnte eine Prüfliste enthalten, ein anderer könnte Zellen mit zusätzlichen Informationen zum weiteren Drilldown enthalten, ein anderer könnte Etiketten mit UITextFields sein.Gruppe gruppierte Einstellungen im Stil-Stil

Meine Frage hier ist, was ist der sauberste Weg, um diese Tabelle zu erstellen. Erstellen Sie normalerweise eine Unterklasse von UITableViewController und dann die Unterklasse UITableViewCell für jeden anderen Typ von Zellen und schreiben Sie unterstützende Klassen für diese Zellen? Das heißt, wenn Sie eine Einstellungs-Style-Tabelle mit 4 Abschnitten haben, alle verschiedenen Arten von Zellen, werden Sie 4 Federn in die Tabelle laden und 4 Klassendateien importieren? Den Rahmen, die Ansichten, die Textfelder programmgesteuert einstellen und sie für späteren Zugriff kennzeichnen?

Die Antwort (en) dazu ist wahrscheinlich subjektiv, aber ich würde gerne wissen, was Sie Experten den elegantesten Ansatz für dieses gemeinsame Problem betrachten.

Antwort

1

ich lieber die meisten Einstellungen festgelegt würde, dass ich im Interface Builder, sondern eine ganze Reihe von Code des Schreibens der visuellen/Layout einfach zu machen Recht. Wie Sie sich vorstellen können, dauert es im iPhone Simulator einige Runden "Modify - Build - Test", um diese spezielle Tabellenansicht so zu gestalten, wie Sie es wollen.

Ich denke, es ist wahrscheinlich ein bisschen einfacher, all diese groben visuellen Änderungen in IB zu tun, dann laden Sie alle benutzerdefinierten UITableViewCell dynamisch über ihre Kennungen in Code. Sie können dann eine letzte Runde an diesem Code optimieren, wenn etwas, was Sie wollen, in IB nicht machbar ist.

1

Die Bibliothek Three20 (extrahiert aus Facebook iPhone App) hat eine Reihe von vorgefertigten Zellen, die verschiedene Steuerelemente enthalten.

(Ich bin mir nicht sicher, ob du sie benutzen willst. Three20 leidet ein wenig unter "nicht-erfunden-hier" und versucht, alles unterzuklassifizieren und zu erweitern, also fügt es deinem Projekt eine Menge Unordnung hinzu. Aber zumindest können Sie es als ein Beispiel verwenden.)

PS Ihre Frage hat mich dazu inspiriert, ein "What are your favourite UITableView/UITableViewCell tricks?" -Thread auf Stack Overflow zu öffnen, sehen Sie sich weitere Tipps an.