自动增加/减少UITableViewCell中的UILabelView高度?
你好,我有一个UITableView x单元格。最后一个单元我有两个UILabels。当设置第二个UILabel文本时,我试图让单元格和UILabel调整大小以显示文本。自动增加/减少UITableViewCell中的UILabelView高度?
以下是我有:
的的UILabel - LabelBio(橙色)有:
线:0 基线:对准基线 线路中断:自动换行 自动收缩:固定字体大小
ContentView,LabelSellerInfo和LabelBio的约束设置如下:
我已经尝试了许多变化,但似乎无法得到生物标签会长大和缩小,有时如果我拿到标签的话种植细胞仍然太小。
任何人都可以帮助我了解我做错了什么,并告诉我如何得到正确的约束,让这个工作?
谢谢
- 设置tableView.rowHeight = UITableViewAutomaticDimension
- 在你的代码FUNC的tableView删除此功能(_的tableView:UITableView的,heightForRowAt indexPath:IndexPath) - > CGFloat的
- 的设置高度约束LabelBio greaterOrEqualThan 0
因此,我添加了像Tushar建议的三个约束,但它没有工作,所以我删除了函数heightForRowAt并将高度约束更改为> = 0,但它仍然没有工作的权利。 – LilMoke
这里的步骤...
希望你了解一下
autylayout
。使用约束(left to content view
,right to content view
,bottom to content view
和verticle to your first label
)然后在
viewdidLoad
方法添加YourTableView.estimatedRowHeight = 200
- >给你想要的任何高度。最终定义如下方法:
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
你去好。
我认为这是我的约束 – LilMoke
如果您希望标签根据内容调整高度,请提供以下限制: - 高度关系大于或等于的前导,尾随,顶部和高度+标签的线数= 0。 –
你在设置'.rowHeight = UITableViewAutomaticDimension'吗? – DonMag
所以我对LabelBioView有4个约束。 1)拖后空间到超视图,2)领先空间到超视图,3)顶部空间到:LabelSellerInfo,4)高度> = 90.但它不工作,我有他们错了吗?哦,一个区别是,我定义的方法heightForRowAt并返回UITableViewAutomaticDimension – LilMoke