Swift堆栈视图水平标签未正确填充

Swift堆栈视图水平标签未正确填充,swift,xml,uikit,xib,Swift,Xml,Uikit,Xib,所以我在设计一个简单的视图 这就是我想要的,标题只占据了它需要的水平空间。但是,当我将“详细信息”视图的行数设置为0,以便它可以是多行时,或者当我对标题标签执行相同操作时,我会自动得到以下结果: 我确实喜欢对这些标签使用堆栈视图,因为它似乎是考虑动态文本的最自然的选择。当文本变大时,我要做的就是将轴更改为垂直。我已经将标题标签的拥抱优先级设置为252,并且我已经设置了一个比例宽度约束,以便细节与标题具有更大或相等的宽度 因此标签的宽度没有歧义 标题标签宽度应等于其内容的宽度,直到内容达到超

所以我在设计一个简单的视图

这就是我想要的,标题只占据了它需要的水平空间。但是,当我将“详细信息”视图的行数设置为0,以便它可以是多行时,或者当我对标题标签执行相同操作时,我会自动得到以下结果:

我确实喜欢对这些标签使用堆栈视图,因为它似乎是考虑动态文本的最自然的选择。当文本变大时,我要做的就是将轴更改为垂直。我已经将标题标签的拥抱优先级设置为252,并且我已经设置了一个比例宽度约束,以便细节与标题具有更大或相等的宽度

因此标签的宽度没有歧义

  • 标题标签宽度应等于其内容的宽度,直到内容达到超出详细信息标签宽度的程度,然后换行

  • 详细信息标签的宽度也应与其内容相等,直到超过左侧较高优先级的拥抱和右侧的尾随约束所允许的范围,然后它应该换行

这是我的xib作为xml源代码


如果将左标签的内容包含优先级设置为1000(必需),则该选项有效


堆栈视图中可能有某个具有非常高优先级的内容阻止标签包含其内容。

如果将左侧标签的内容包含优先级设置为1000(必需),则它会工作


堆栈视图中可能有具有非常高优先级的内容阻止标签拥抱其内容。

如果您只需将拥抱优先级设置得更高(例如1000),它应该可以工作。也就是说,当两个标签都有大量文本时,您希望发生什么?是否希望每个标签占据可用宽度的一半?“当两个标签都有大量文本时,您希望发生什么?是否希望每个标签占据可用宽度的一半?”是的。似乎将拥抱优先级设置得更高可能已达到目的。你能解释一下原因吗?我不知道,但似乎只有1000(“必需”)起作用。也许还有其他东西(可能是堆栈视图所做的事情)具有1000优先级,可以防止标签拥抱内容。如果您想添加这一点作为答案,我同意。如果您只是将拥抱优先级设置得更高(例如1000),它应该会起作用。也就是说,当两个标签都有大量文本时,您希望发生什么?是否希望每个标签占据可用宽度的一半?“当两个标签都有大量文本时,您希望发生什么?是否希望每个标签占据可用宽度的一半?”是的。似乎将拥抱优先级设置得更高可能已达到目的。你能解释一下原因吗?我不知道,但似乎只有1000(“必需”)起作用。也许还有其他东西(可能是堆栈视图所做的)具有1000优先级,可以防止标签包含内容。好吧,如果你想添加它作为答案,我同意。二对二?两人两个?