在UITableViewCell中自动增加/减少UILabelView高度?

时间:2017-10-12 18:01:13

标签: ios swift xcode uitableview constraints

你好,我有一个带有x#单元格的UITableView。最后一个单元格我有两个UILabel。设置第二个UILabel文本时,我试图让单元格和UILabel调整大小以显示文本。

这就是我所拥有的:

UILabel - LabelBio(橙色)有:

行:0 基线:对齐基线 换行:自动换行 自动收缩:固定字体大小

enter image description here

ContentView,LabelSellerInfo和LabelBio的约束设置如下:

LabelSellerInfo enter image description here

LabelBio enter image description here

内容查看 enter image description here

使用这些设置,这是一个得到: enter image description here

我尝试了许多变化,但似乎无法让Bio标签生长和缩小,有时候如果我得到标签来生长细胞仍然太小。

任何人都可以帮助我理解我做错了什么,并告诉我如何使约束正确以使其工作?

谢谢

2 个答案:

答案 0 :(得分:0)

  1. 设置tableView.rowHeight = UITableViewAutomaticDimension
  2. 在代码func tableView中删除此函数(_ tableView:UITableView,heightForRowAt indexPath:IndexPath) - > CGFloat的
  3. 设置LabelBio的高度约束greaterOrEqualThan 0

答案 1 :(得分:0)

这是步骤......

  • 希望您了解autylayout。使用约束(left to content viewright to content viewbottom to content viewverticle to your first label

  • 然后在您的viewdidLoad方法中添加YourTableView.estimatedRowHeight = 200 - >给你想要的任何高度。

  • 最后定义以下方法:

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return UITableViewAutomaticDimension
    }
你很高兴。