UITableViewCell有两个UIStackView

时间:2017-02-28 17:23:37

标签: ios objective-c uitableview uistackview

我面临UITableViewCell的布局问题,其中包括(从上到下)(1)UIStackView,(2)具有固定高度的UIView和(3)另一个UIStackView。在顶部UIStackView中,我想垂直放置一些UILabel实例,具体取决于某些数据结构。这些标签的高度可能不同。在底部的UIStackView中,我想垂直放置一些UIButton实例。这个数字还取决于一些数据结构。

问题与AutoLayout有关(至少我认为是这样)。我如何以这样的方式设置约束,即UITableViewCell在需要将其放置在屏幕上时为顶部UIStackView和底部UIStackView创建足够的空间。单元的布局在单独的XIB文件中定义。

到目前为止,我在顶级UIStackView上有一个heightconstraint。根据标签的框架高度,调整堆栈视图的高度。但事实证明,高度始终具有相同的值。我知道这一点,因为我在TableView中需要这个特定的UITableViewCell的两个实例。 底部UIStackView没有高度约束,并且始终具有正确的布局。

我是否需要调整垂直拥抱/压缩阻力优先级的属性?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

也许我误解了你的问题,但如果它的高度应该是动态的,你为什么要修正顶部StackView的高度?您应该删除此约束并将StackView的内部大小(低于"内容压缩阻力优先级")设置为"占位符"保持IB快乐。 如果您没有其他约束问题,那么顶部StackView的行为将与底部StackView相同。