Frage

Ich habe Probleme, eine UIView zu schaffen (im Interface Builder), die eine UITableView mit einem anderen Objekt enthält, wie ein UIButton oder UILabel. Die UITableView immer nimmt die maximale Menge an Speicherplatz in der UIView, unabhängig von der Größe des UITableView Objekt auf sich. Der Datei-Besitzer ist ein Standard UITableViewController.

War es hilfreich?

Lösung

Hier ist, wie dies leicht zu tun:

1) Erstellen Sie eine Tabelle View-Controller mit xib.

2) Ändern Sie die geerbte Typ in der H-Datei von UITableViewController, auf UIViewController.

3) Fügen Sie die Protokolle UITableViewDataSource, UITableViewDelegate auf die H-Datei.

4) Öffnen Sie die xib, fügen Sie in einer Ansicht.

5) Ziehen der Tabellen-Ansicht in der XIb unter der Ansicht, die Größe, wie gewünscht.

6) Verdrahten Sie die „Ansicht“ Eigenschaft des Eigentümers Datei auf die Ansicht anstelle des UITableView. Die Datenquelle und delegieren Eigenschaften der Tabellenansicht noch Datei Besitzer verdrahtet werden sollten.

7) (optional), wenn Sie die Tabelle neu zu laden oder auf andere Weise Zugang außerhalb der Tabelle View-Controller Delegatmethoden in der Lage sein wollen, die in einer Tabellenansicht passieren, ein UITableView * IBOutlet machen dem Namen „myTable“ oder dergleichen, und Draht die Tabelle in IB darauf.


Ein alternativer Ansatz ist es, einen neuen UIViewController mit xib zu machen, um eine Tabelle zu dem xib, Draht-Datenquelle / Delegierten des Besitzer Datei hinzufügen, und eine neue UITableViewController Klasse machen, die Sie die Methoden zum Kopieren verwenden aus in der View-Controller, dann löschen.

Andere Tipps

Leider eine UITableView im Interface Builder (IB) zu schaffen ist für mich sehr problematisch. Ich lief in die gleichen Probleme, wie Sie als Entwickler beginnen, und nach viel Frustration, nur IB Verzicht für UITableViews endete.

Die beste Lösung für mich war nur die UITableViewController zu implementieren (und die UINavigationController, die Sie als Header verwenden) programmatisch. Sobald Sie das ganze Model-View-Controller-Paradigma herauszufinden, es ist eigentlich ziemlich einfach.

Einige gute Ressourcen für den Umgang mit ihnen programmatisch können in Apples Dokumentation mit diesen Namen zu finden:

"Table View Programmierhandbuch für iPhone OS"
"View Controller Programmierhandbuch für iPhone OS"

Cocoa mit Liebe hat einen Artikel über Recreating UITableViewController die Wiederverwendung von Code zu erhöhen . Dies ist nützlich, wenn Sie keinen UITableViewController verwenden können, aber wollen sicherstellen, dass Ihr UIViewController die gleiche Art und Weise verhalten wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top