¿Cómo dimensionar un UIStackView dependiendo de su contenido?

Me gustaría tener un comportamiento similar al<Table> Etiqueta HTML, en el sentido en que el marco se dimensiona de acuerdo con su contenido.

En mi mismo contexto, uso un UIStackView como vista de contenido de un UITableViewCell. Como los elementos en la celda son información diversa, la altura resultante de la celda debe ser variable.

Mi estrategia es construir mediante programación una celda como UIStackView con un eje vertical, como en el fragmento de código de la siguiente manera:

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
}

Desafortunadamente, el tamaño de la celda no se ajusta al contenido y, como resultado, tengo que establecer la altura de la celda, de la siguiente manera:

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

¿Cómo podría arreglar eso?

Respuestas a la pregunta(1)

Su respuesta a la pregunta