如何在动态高度的TableView单元格

时间:2017-07-19 19:52:15

标签: autolayout uistackview

我有一个包含水平UIStackView的tableview单元格。其中包含UIImageView(左侧,100x100尺寸)和垂直UIStackView(右侧),其中包含4个标签。垂直UIStackView被约束到UIImageView的顶部和底部锚点。但是底部约束是“小于或等于”。

我在这些标签上设置text属性,但如果文本为nil,则隐藏该标签。 Stack View将该标签的高度设置为0,它不会出现在堆栈视图中。现在的想法是,如果某些标签被隐藏,剩余标签的组合内在内容大小将定义垂直UIStackView的高度,并且它将基于“小于或等于”底部约束的高度减小。

但这不起作用。以第二和第四个标签被隐藏的情况为例。第一个标签是正常高度。但是第3个标签一直延伸到UIImageView的底部。这与我的期望相反,即标签的内在内容大小会更小,标签的UIStackView会缩小。

我猜测可能需要调整一些优先级才能使其正常工作。整个视图层次结构包含在UITableViewCell中,并且已应用动态高度,我希望不会导致任何问题。

因此,如果预期的行为是当我隐藏标签时垂直UIStackView缩小,我必须添加/删除哪些约束或必须设置哪些优先级?

0 个答案:

没有答案