UITableView nicht gezeigt, innerhalb UIStackView
Ich habe eine UIStackView
wo es zeigen kann, ein label, Bild, Tabelle, Ansicht oder-nichts-basierend auf der Auswahl des Benutzers. Hier ist meine derzeitige Hierarchie für die dynamische Ansicht:
- UIStackView_Parent
- UILabel - text, festen Ansicht
- UIStackView_Child - das ist der container, zeigen kann, dass mehrere Dinge oder nichts
- UIView - einen anderen festen Ansicht
Wenn ich rufe UIStackView_Child.addArrangedSubview(...)
mit einem label-oder image-es funktioniert perfekt, aber addArrangedSubview(tableView)
zeigt nicht die Tabelle. Ich habe tableView.scrollEnabled = false
- und set-Rahmen auf fester Höhe basierend auf der Anzahl von Zellen und definiert in der Tabelle cellHeight
.
Jede Hilfe wäre sehr geschätzt, danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weil stackview versucht, komprimieren Sie Inhalt, so viel wie möglich. Wenn Sie die initial hinzufügen eines tableviews, ich nehme an, es hat keinen Inhalt, so stackview komprimiert die Breite auf 0, weil es nichts zu zeigen. Sie müssen eines von zwei Dingen tun:
Nachdem die Tabelle wird mit Daten gefüllt haben, müssen Sie den tableView befindet. Ich Tue dies, indem man berechnet, wie groß jede Zelle wird. Ich weiß, die Breite ist so groß wie die Sicht enthält stackview. Also es windet sich so etwas wie
Wenn Sie den tableView Rahmen, stackview automatisch nachstellen sollte.
tableView.heightAnchor.constraint(equalToConstant: 42).isActive = true
. Einstellung der stack-Ansicht, Höhe wird so gut funktionieren.Einen anderen Weg, dies zu tun, ohne explizit eine Einstellung der Bildhöhe und-Breite ist auf das einbetten der Tabelle Blick in eine leere Ansicht, pin der Tabelle nach oben, unten, Links und rechts und setzen Sie ein "größer-als-oder-gleich" - Einschränkung für die Tabelle-Ansicht die Höhe.