Können Sie eine TableView von UITableViewController zu einer anderen Ansicht hinzufügen?
Habe ich eingefügt, ein UITableViewController und es entsprechende UITableView, die in einem einfachen IB-Dokument. Ziel ist, die UITableView innerhalb eines übergeordneten UIWindow (oder UIView) mit anderen "Zeug" (alles richtig) schmücken den Tisch. Hier ist, was das Aussehen könnte im Interface Builder.
Habe ich versucht, diese viele Male und immer auf die gleiche Stelle.
- Beim Aufbau eines funktionierenden Unterklasse von UITableViewController mit Daten gefüllt
- Anpassen der UTableView und es sind Zellen, einschließlich Tippen Sie auf Ziele
- Fügen Sie den neu erstellten UITableViewController in eine IB-Dokument
- Ziehen Sie die UITableView aus der UITableViewController und in den main UIView
- Verdrahten Sie die UITableViewController, um die UITableView
- Hinweis: das hinzufügen der UITableViewController in code Ergebnisse in das gleiche problem
Wann läuft die app im iPhone-emulator oder auf einem Gerät, das der Tabelle richtig angezeigt, aber stürzt ab, wenn Sie das erste mal versuchen und mit ihm zu interagieren. Scrollen, Tippen, alles andere stürzt die app. Dies scheint ein Delegierter problem, wie die UITableView weiß nicht, wie Sie, um wieder zu kommunizieren, um die UITableViewController, aber ich habe keine Ahnung, wie das problem zu beheben.
Bisher habe ich in der Lage zu bekommen, indem durch anpassen der tableHeaderView zu bekommen, layouts, ausreichen, aber ich würde wirklich lieber die anderen Technik arbeiten.
InformationsquelleAutor der Frage Dan Harrelson | 2009-07-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du bist auf dem richtigen Weg! Hier ist, was Sie tun müssen:
Erstellen Sie ein standard-UIViewController-Unterklasse mit seinen begleitenden view xib.
Fügen Sie ein UITableView in der XIB.
Alles Draht nach oben. Der view-controller wird der delegate und datasource für Ihren Tisch, so dass Sie implementieren müssen beide Protokolle.
In Ihrer Umsetzung-Datei, fügen Sie alle notwendigen datasource und delegate-Methoden benötigt für die tableview:
Ihre header-Datei kann wie folgt Aussehen:
MyViewController.h
Das sollte es tun!
InformationsquelleAutor der Antwort Reed Olsen