【发布时间】:2015-09-03 23:54:52
【问题描述】:
我希望 iOS 8 表格视图中的字幕样式单元格自动调整高度,以允许任意行数的字幕内容。而且,如果可能的话,我想在不使用自定义单元格的情况下完成此操作。也就是说,我想使用在将新的 TableViewController 拖到故事板时可用的“罐装”原型单元格。
我发现使用基本样式的单元格很容易做到这一点:也就是说,原型单元格的样式设置为“基本”,因此单元格中只有一个标签——默认情况下是“标题”。这是代码中 cell.textLabel!.text 可访问的标签。如果我将 textLabel 的行数设置为 0,并将下面的两行添加到 viewDidLoad(),那么单元格高度会自动调整大小:
tableView.estimatedRowHeight = 144.0
tableView.rowHeight = UITableViewAutomaticDimension
所有这些都无需定义自定义单元格或使用自动布局或约束来解决问题。 (事实上,我发现不可能向罐装原型单元格添加约束。)
但是,如果我将单元格样式更改为“字幕”,以便单元格中有两个标签——代码中的 textLabel 和 detailTextLabel——那么单元格不会自动调整高度,即使在设置两者(或) 行号为 0 并使用不同的估计行高度值。
我是否遗漏了什么,或者如果没有自定义单元格就无法自动调整单元格高度?
谢谢!
【问题讨论】:
标签: swift uitableview ios8