没有自定义单元格的自动单元格高度?
问题描述:
我想我的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原型单元中设计单元,约束和所有单元。