Für den Controller meiner App-Einstellungen möchte ich eine Tabellenansicht mit einer Reihe von Optionen haben, die der Benutzer optimieren kann. Kippschalter, Übergänge, Stepper usw.Best Practices zum Entwerfen der Tabellenansicht für App-Einstellungen?
Was ist der beste Weg, dies zu erreichen? Tabellenansichten sind ziemlich einfach in dem Fall, in dem jede Zelle einem einfachen Layout folgt. Vielleicht ein Titel und ein Subtext. In diesem Fall kann eine Zelle jedoch eine von fünf Layouts sein, abhängig davon, welche Art von Einstellung geändert wird.
ist der beste Weg, dies zu umgehen UITableViewCell Unterklasse und in der Tableview der cellForRowAtIndexPath:
, bevor Sie die Zelle zurückgeben eine benutzerdefinierte Eigenschaft wie kind
um so etwas wie toggle
oder label
eingestellt? Dann in der viewDidLoad
dieser Zelle Unterklasse setzen Sie die Zelle basierend auf der kind
Eigenschaft?
Ist das ineffizient? Soll ich eine Zelle mit allen Steuerelementen bereits darauf anlegen, aber versteckt, dann aktiviere sie einfach anhand von kind
? Sollte ich für jede Art von Zelle eine Unterklasse mit verschiedenen Steuerelementen haben, die ich möchte?
So denke ich darüber nach, es zu handhaben. Aber gibt es einen bevorzugten Weg? Ist das ineffizient, weil es kein unbedingt vorhersagbares Muster von Zelle zu Zelle hat?
Ich würde InAppSettingsKit empfehlen wie erwähnt in [@Wayne Hartman Antwort] (http://stackoverflow.com/a/17495359/795339).Aber wenn Sie das von Grund auf neu erstellen würden, würde ich die Tabellenansicht in einem Storyboard erstellen und eine wiederverwendbare Prototypzelle für jeden unterschiedlichen Feldtyp erstellen - eine Prototypzelle für ein Textfeld, eine für einen Schalter usw. Jeder Prototyp-Zelle wäre eine andere Unterklasse von 'UITableViewCell' und implementiert ein von Ihnen definiertes Protokoll mit Eigenschaften für den Namen der Marke und möglicherweise dem Namen eines Schlüssels in Ihrem Einstellungswörterbuch, an den das Feld gebunden werden soll. –