2016-04-25 10 views
0

Ich möchte Tabellenansicht in etwa 5 Bildschirmen mit demselben Layout haben. Was sollte der beste Ansatz sein? Soll ich eine einzelne Klasse erstellen und dann andere View-Controller mit dieser Klasse erben? oder machen Sie Tabellenansicht in jedem Bildschirm mit separater Codierung?Wie erstellt man eine einzelne Klasse für die Tabellenansicht und erbt in allen anderen Klassen?

+1

dasselbe Layout bedeutet die gleiche Zelle und die gleiche Art von Artikeldetails in der Zelle (gleiche Modellklasse)? Dies ist eine zu weit gefasste Frage ... – Wain

+0

Zelldetails wären in allen Bildschirmen gleich, wie 1 Bild und 1 Textansicht –

+0

Sie können einen Superklassenansicht-Controller erstellen, in den Sie allgemeine UI-Anpassungen, Logik und Methoden für jede Unterklasse einfügen können. – Xchord

Antwort

0

Sie sollten eine Unterklasse von UITableViewCell erstellen und diese als Zellenlayout über Ihre App verwenden.

Wenn Sie die UITableView müssen in ganz genau die gleichen Eigenschaften haben, könnten Sie auch eine UITableView Erweiterung wie folgt aus (in Swift)

extension UITableView { 
    class func defaultTableView() -> UITableView { 
     let tableView = UITableView() 
     // Setup your default tableView properies here 
     return tableView 
    } 
} 
0

Dies hängt davon ab, schaffen, was zwischen 5 bildet ähnlich ist.

  1. Wenn Sie 5 verschiedene Formen mit dem gleichen Tableview auf jeden (und mit den gleichen Daten), aber die anderen Kontrollen auf Formen unterschiedlich sein können dann der beste Ansatz ist einen TTableView Controller machen. Fügen Sie anschließend ViewContainer in jedes der fünf Formulare ein und stellen Sie dann eingebettete Segmente aus Containern in Ihren separaten TableViewController.

  2. Wenn Sie 5 verschiedene Formulare mit verschiedenen Tabellenansichten haben, aber diese Tabellenansicht ähnlich aussieht, ist der beste Ansatz, ein UITableViewCell mit seiner eigenen XIB zu erstellen und in allen 5 TableViews zu verwenden (wie in Antwort auf tskippe).

Verwandte Themen