水平堆栈视图内的标签宽度相等吗?

use*_*699 5 uilabel ios swift uistackview

我有一个具有以下属性的堆栈视图: 轴:垂直对齐:填充 分布:填充

我将其他水平堆栈视图添加到具有以下属性的垂直堆栈视图: 轴:水平对齐:第一基线分布:填充

这些水平堆栈视图中的每一个都包含两个标签。我希望标签根据其中的文本缩小/扩大其宽度。每当我将它们的 numberOfLines 设置为 0 时,两个标签都具有相同的宽度,并且高度会增加,如果我将 numberOfLines 设置为 1,它们会根据文本扩展/缩小宽度,但如果文本需要多于一行,其余文本不会出现。任何帮助深表感谢。

Guy*_*gus 3

如果你有 2 个标签,行数设置为1,彼此相邻,试图适应 200 像素的堆栈视图,但每个标签需要 150 像素,你必须解决这个问题:

哪个标签被压缩,哪个标签获得其全宽?

这取决于它们的抗压优先级。默认情况下,自动布局不会同等地压缩它们,您需要将它们的约束设置为具有相等的宽度)。

UIStackView如果将行数设置为 ,看起来很难获得标签的布局约束0。如果他们的文本长度不同,那么它似乎就失去了自身的意义。在这种情况下,我建议将两个标签的宽度设置为相等,除非这对您不起作用。