我有一个集合视图单元格。在这个单元格中,我有一个带有两个标签的堆栈视图。一个是静态高度,另一个是动态高度。
如果我的层次结构如下:
- Stack view (distribution = fill)
- Label (vertical hugging = 250)
- Label (vertical hugging = 249)它可以很好地设置每个单元格的高度:


但是当我将标签放在UIView中时:
- Stack view (distribution = fill)
- Label (vertical hugging = 250)
- UIView (vertical hugging = 249)
- Label (top, right, bottom, left constraints = superview)它(大多数情况下)设置的高度不正确:
这显示为一行,而它应该显示为多行:

在标签的上方和下方添加奇怪的填充:

这里发生了什么事?
发布于 2021-02-23 14:14:05
是stackView决定了这两个标签的高度。
这不是你说的自动布局。无论这些标签的高度是否正确,stackView都不会改变高度。
您要做的是根据这两个标签自动调整stackView的大小。您应该使用UIView而不是UIStackView。UIStackView是一个自动调整其子视图大小的视图,而不是相反的方式。
您可以编写一个UIView。在其中添加这两个标签。并设置两个标签的约束。如果你不对它做任何限制,这个视图就是你想要的。
https://stackoverflow.com/questions/66310409
复制相似问题