Estoy creando 2 secciones UITableView
. La primera sección usa UITableViewCells
con el estilo Default
, el segundo usa el estilo de Subtitle
. Ambas células pueden tener una label de text multilínea.
He configurado rowHeight
la tabla para UITableViewAutomaticDimension
.
Como puede ver en la captura de pantalla a continuación, UITableViewAutomaticDimension
se respeta solo parcialmente cuando se usa el estilo de Subtitle
: la altura parece ajustarse a la altura de la textLabel
pero no a la de detailLabel
.
¿Cómo puedo hacer que una celda de Subtitle
obtenga la altura adecuada?
Algún código:
override func viewDidLoad() { super.viewDidLoad() tableView.delegate = self tableView.estimatedRowHeight = 80 tableView.rowHeight = UITableViewAutomaticDimension tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "defaultCell") tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "subtitleCell") } override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { if indexPath.section === 1 { var cell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "subtitleCell") cell.textLabel?.numberOfLines = 0 cell.textLabel?.text = "A Long text..." cell.detailTextLabel?.numberOfLines = 0 cell.detailTextLabel?.text = "A Long text..." return cell } else { var cell = tableView.dequeueReusableCellWithIdentifier("defaultCell") as! UITableViewCell cell.textLabel!.text = "A long text..." cell.textLabel?.numberOfLines = 0 return cell } }
He intentado implementar una subclass de UITableViewCell
pero tengo muchos problemas con la reproducción automática y los títulos de sección (una larga historia), así que me pregunto si podría solucionar el problema de una manera más simple.