没有自定义单元格的自动单元格高度?

问题描述:

我想我的iOS 8表格视图中的字幕样式单元格高度自动调整大小,以允许任何数量的行的字幕内容。而且,如果可能的话,我希望在不使用自定义单元的情况下完成此操作。也就是说,我想使用拖动新的TableViewController到故事板时可用的“canned”原型单元格。没有自定义单元格的自动单元格高度?

我发现使用基本样式的单元格很容易:就是将Style设置为“Basic”的原型单元格,以便单元格中只有一个标签 - “标题”,默认情况下。这是可以通过代码中的cell.textLabel!.text访问的标签。如果我设置为textLabel的行数为0,并且在下方添加两行viewDidLoad中(),则单元高度自动调整:

tableView.estimatedRowHeight = 144.0 
    tableView.rowHeight = UITableViewAutomaticDimension 

所有而不必定义自定义细胞或弄脏周围的自动布局或约束。 (实际上,我发现无法向罐装原型单元添加约束条件)。

但是,如果将单元格Style更改为“Subtitle”,以便在单元格中有两个标签 - textLabel和detailTextLabel,代码 - 那么即使将两个(或两个)行数设置为0并使用不同的estimatedRowHeight值进行播放,单元格也不会自动调整高度。

我是否缺少某些东西,还是不可能自动调整没有自定义单元格的单元格高度?

谢谢!

还是不可能自动调整没有自定义单元格的单元格高度?

是的,这是不可能的。原因是你给的原因。自动调整大小的单元格高度特征取决于的内部约束条件。但是,正如你所说的那样:

不可能为罐装原型单元添加约束。

但是,请注意,您可以在不提供单元格子类的情况下完成您想要的操作(虽然我个人喜欢提供它)。您可以在原型单元 - 即Custom原型单元中设计单元,约束和所有单元。