Cámara de vista de tabla autodimensionada en Xcode 9

Tengo un UITableViewController en el que la celda se UITableViewController correctamente usando Xcode 8 y Swift 3. Ahora que estoy usando Xcode 9 y Swift 4, no se están expandiendo y solo están usando la altura pnetworkingeterminada de 44.

(Tengo aproximadamente una o dos frases en cada UITableViewCell )

Estaba usando esto antes:

 // MARK: - Table view delegate override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { return UITableViewAutomaticDimension } override func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat { return UITableViewAutomaticDimension } 

… pero fue capaz de comentarlo porque al actualizar su aplicación para iOS 11 dijo que el valor pnetworkingeterminado sería auto-dimensionar ahora:

introduzca la descripción de la imagen aquí

He intentado jugar con cambiar el objective de implementación para iOS 11, jugar en Storyboard (pero estoy usando un estilo de tabla de la vista de la celda básica, por lo que no hay mucho AutoLayout por hacer), y no puedo entender qué está pasando.

Tengo el título UILabel establecido en 0 líneas y tengo Line Break Word Wrap, pero aún no estoy cerca de hacer que la celda se expanda en function del contenido de text dentro de él en Xcode 9. ¿Alguna idea?

¡Gracias!

Editar:

Aquí están las opciones (que no tengo) para fijar, ya que es una célula Básica:

introduzca la descripción de la imagen aquí

introduzca la descripción de la imagen aquí

introduzca la descripción de la imagen aquí

Tuve el mismo problema y lo resolví con líneas de código:

 class MyTableViewController: UITableViewController { override func viewDidLoad() { super.viewDidLoad() tableView.estimatedRowHeight = UITableViewAutomaticDimension tableView.rowHeight = UITableViewAutomaticDimension } 

Tal vez sea un error en Xcode.

Actualizar

Nuevo en Xcode 9 beta 3:

Interface Builder ahora es compatible con la configuration de estimatedRowHeight de UITableView. Esto permite que las celdas de las tablas de tamaño automático se ajusten a una altura que no sea cero, y está activada de manera pnetworkingeterminada. (17995201)

Tuve el mismo problema roto vista de tabla. Fix fue solo un clic.

Vaya a su xib o escenas de storyboard con vistas de tabla, vaya al inspector de tamaño, y verá las alturas de vista de tabla (incluso en vistas dinámicas de tabla) como 44, y las secciones serán 22. Simplemente click "automático" y auge, Presentará como se esperaba.

introduzca la descripción de la imagen aquí

Tenga en count que también especifique lo siguiente en viewDidLoad de la subclass UITableViewController (layoutSubviews resuelve los problemas con la primera carga de un tableViewController que no se posiciona correctamente en relación con un navBar no translúcido).

  self.tableView.estimatedRowHeight = 180; self.tableView.rowHeight = UITableViewAutomaticDimension; self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; [self.tableView layoutSubviews]; 

Además de

 tableView.estimatedRowHeight = UITableViewAutomaticDimension tableView.rowHeight = UITableViewAutomaticDimension 

debe establecer una restricción de altura para la contentView de contentView de tabeleViewCell.

 class CustomTableViewCell: UITableViewCell { override init(style: UITableViewCellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifier) let height: CGFloat = 200 heightAnchor.constraint(equalToConstant: height).isActive = true } }