Wie wird ein UIStackView abhängig von seinem Inhalt dimensioniert?

9

Ich möchte ein ähnliches Verhalten haben wie das <Table> HTML-Tag, in dem Sinne, dass der Rahmen nach seinem Inhalt sortiert ist.

In meinem Kontext verwende ich eine UIStackView als Inhaltsansicht einer UITableViewCell. Da Elemente in der Zelle verschiedene Informationen sind, sollte die resultierende Höhe der Zelle variabel sein.

Meine Strategie besteht darin, eine Zelle programmatisch als UIStackView mit einer vertikalen Achse zu erstellen, wie im Code-Snippet wie folgt:

%Vor%

Leider passt sich die Zellengröße nicht an den Inhalt an, und deshalb muss ich die Zellenhöhe selbst wie folgt einstellen:

%Vor%

Wie könnte ich das beheben?

    
Stéphane de Luca 13.04.2016, 07:20
quelle

1 Antwort

0

UIStackView wurde entwickelt, um seine Größe entsprechend dem Inhalt zu vergrößern. Damit das funktioniert, müssen Sie die Einschränkungen zwischen UIStackView und UITableViewCell festlegen. So sehen beispielsweise die Einschränkungen im Interface Builder aus:

Wenn Sie Constraints im Code einrichten möchten, sollte das auch funktionieren.

Um zu zeigen, dass das funktioniert, habe ich das für die Funktion cellForRowAt . Im Grunde legt es eine Anzahl von UILabel in die UIStackView und die Anzahl der Etiketten hängt von der Zeilennummer ab.

%Vor%

Hier ist das Endergebnis:

Ссылка

    
Yuchen Zhong 02.12.2017 14:30
quelle