Wie wird eine UIStackView in Abhängigkeit von ihrem Inhalt dimensioniert?

Ich hätte gerne ein ähnliches Verhalten wie das<Table> HTML-Tag in dem Sinne, dass die Größe des Frames dem Inhalt entspricht.

In meinem Kontext verwende ich eine UIStackView als Inhaltsansicht einer UITableViewCell. Da es sich bei den Elementen in der Zelle um verschiedene Informationen handelt, sollte die resultierende Höhe der Zelle variabel sein.

Meine Strategie besteht darin, programmgesteuert eine Zelle als UIStackView mit einer vertikalen Achse zu erstellen, wie im Codeausschnitt wie folgt:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)

    let sv = UIStackView(frame: tableview.frame)
    sv.axis = .Vertical
    cell.addSubview(sv)
    for i in information {
        let l = UILabel()
        l.text = i
        sv.addSubViewAndArrange(l)
    }

    return cell
}

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

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    return cellHeight     // a constant
}

Wie könnte ich das beheben?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage