iOS-Container-Ansicht in UITableViewCell
Ich versuche, fügen Sie eine weitere view-controller innerhalb einer UITableView Zelle. Die Idee ist, dass Sie Tippen Sie auf die Zelle, und es wird erweitert, um mehr Inhalt anzuzeigen--eine messaging-Schnittstelle. Es ist wichtig (denke ich), dass dies wird gesteuert durch eine separate Messaging-ViewController.
Ausbau der Zell-und mit Blick in die Zelle, erweitern Sie mit den richtigen Randbedingungen ist eigentlich sehr unkompliziert in Storyboards, also habe ich versucht, alles in storyboards, indem meine neuen VC um die TableViewCell über einen Container. So wäre ich in der Lage, die Einschränkungen, die für die container-Ansicht, und übergeben Sie den Inhalt aus meinem Messaging-VC.
Hier der Fehler:
Illegale Konfiguration: Container-Ansichten können nicht platziert werden, wiederholte Elemente zur Laufzeit.
Irgendeiner Weise zu umgehen dieses Problem, oder gibt es eine Möglichkeit, kann ich das Rohr das aus meiner Sicht viewcontroller in diesem tableviewcell und haben es beschränken auf eine Konfiguration, die ich in den Storyboards? Danke!
- Sieht aus wie das möglich ist, aber nicht über ein storyboard. stackoverflow.com/questions/14741951/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte die gleiche Aufgabe und beschlossen, es auf diese Weise:
Schritt 1. Erstellen Sie eine Unterklasse
MyCell: UITableViewCell
.Schritt 2. Wenn Sie
Self-Sizing Cells
im InterfaceBuilder hinzufügen UIView zu MyCell, dann fügen Sie die Höhe Zwang und Einschränkungen auf allen Seiten. Diese Ansicht benötigt für die Höhe der Zelle.Wenn nicht, überspringen Sie diesen Schritt und verwenden
heightForRowAtIndexPath
.Schritt 3. In MyCell.h add-outlet-aus Sicht der Höhe von constraint-und controller-Eigenschaft:
Schritt 4. In
cellForRowAtIndexPath
code hinzufügen:Schritt 5. Hinzufügen
didEndDisplayingCell
Methode:Machen Sie Ihre
UITableViewController
Inhalt alsStatic
.Können Sie einfach ziehen Sie Container-Ansicht in UITableVeiw in das storyboard. Zum Beispiel können Sie ziehen Sie es vor Prototyp-Zelle, und Sie werden sehen, Ihre container view controller, bevor Sie Ihre Prototypen Zellen. Übrigens können Sie ziehen Sie ein beliebiges UI-element table view. Ich bin mir nicht sicher, wie man mit autolayout in der Kombination der Tabellenansicht + container-Ansicht, vielleicht müssen Sie manuell berechnen /set constraints zur Laufzeit. Aktualisieren meine Antwort, wenn ich ll finden die richtige Lösung ist autolayout.
Putting-container Ansichten in der Tabellenansicht Zellen ist viel zu schwer. Tabelle anzeigen-Zellen sollte leicht sein, so kann der Benutzer einen Bildlauf durch Sie schnell. Es ist nicht notwendig, um die gesamte view-controller in jeder Zelle. Die Zelle sollte nur darstellen, einige der Daten für diese Zeile.
Wenn der Benutzer berührt die Zelle, die Sie gerade verwenden, ein normaler übergang, um die messaging-view-controller. Ihre Präsentation wird automatisch sein. Dann erstellen und geben Sie einen animationController zu behandeln, den übergang zu machen, es scheint, als ob die Nachricht Zusammensetzung Ansicht wurde innerhalb der table-view Zelle.