2017-10-12 48 views
0

你好,我有一个UITableView x单元格。最后一个单元我有两个UILabels。当设置第二个UILabel文本时,我试图让单元格和UILabel调整大小以显示文本。自动增加/减少UITableViewCell中的UILabelView高度?

以下是我有:

的的UILabel - LabelBio(橙色)有:

线:0 基线:对准基线 线路中断:自动换行 自动收缩:固定字体大小

enter image description here

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

LabelSellerInfo enter image description here

LabelBio enter image description here

内容查看 enter image description here

随着这里的设置就是一个GET: enter image description here

我已经尝试了许多变化,但似乎无法得到生物标签会长大和缩小,有时如果我拿到标签的话种植细胞仍然太小。

任何人都可以帮助我了解我做错了什么,并告诉我如何得到正确的约束,让这个工作?

谢谢

+0

如果您希望标签根据内容调整高度,请提供以下限制: - 高度关系大于或等于的前导,尾随,顶部和高度+标签的线数= 0。 –

+1

你在设置'.rowHeight = UITableViewAutomaticDimension'吗? – DonMag

+0

所以我对LabelBioView有4个约束。 1)拖后空间到超视图,2)领先空间到超视图,3)顶部空间到:LabelSellerInfo,4)高度> = 90.但它不工作,我有他们错了吗?哦,一个区别是,我定义的方法heightForRowAt并返回UITableViewAutomaticDimension – LilMoke

回答

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

因此,我添加了像Tushar建议的三个约束,但它没有工作,所以我删除了函数heightForRowAt并将高度约束更改为> = 0,但它仍然没有工作的权利。 – LilMoke

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 
    } 

你去好。

+0

我认为这是我的约束 – LilMoke