TextView的自动高度,使用tableView单元格中的自动布局

时间:2019-05-01 12:44:49

标签: swift autolayout storyboard tableview

我想根据表格单元格中的内容设置TextView的高度。

enter image description here

我将文本视图的顶部固定到职务UILabel,将底部固定到内容视图(父级),但是它不起作用。有没有关于这种布局定位的教程?

我如何添加约束以解决自动高度问题?

当前限制 enter image description here

3 个答案:

答案 0 :(得分:1)

如我所见,单元格中还有其他设置。支持动态高度

  1. 您可以为UITextView提供固定高度限制。
  2. 获取该约束的出口。
  3. 在通过cellForRowAt方法返回单元格之前对其进行更新。

所以,您的cellForRowAt方法最终会像

tableCell.textViewHeightConstraint = textView.contentSize.height
tableCell.setNeedsUpdateConstraints()
tableCell.setNeedsLayout()
return tableCell

答案 1 :(得分:0)

已解决。 将TextView更改为UILabel,然后将属性检查器中的 Lines 属性设置为0。

在viewDidLoad

    tableview.rowHeight = UITableView.automaticDimension
    tableview.estimatedRowHeight = 229.0

有效。

更多https://www.raywenderlich.com/8549-self-sizing-table-view-cells

答案 2 :(得分:-1)

您可以通过添加两行来应用“自调整表视图单元格”:

tableView.estimatedRowHeight = 85.0
tableView.rowHeight = UITableViewAutomaticDimension

您应该从Apple阅读此文档: https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithSelf-SizingTableViewCells.html