当StackView内部的numberOfLines不同于1(默认)时,UILabels宽度问题

时间:2019-08-29 21:18:43

标签: ios swift uilabel

我有一个StackView,水平轴有2个Labels,里面有内容/拥抱修改以创建左对齐(如下面的UI结果所示)。

当两者的行数均为1(默认值)时,它将按预期工作。 ✅

但是,它们中的一个或两个将行数更改为1时,然后,尽管它们有足够的空间可以增长和/或缩小。

“替代方法” 在视图内部使用约束进行自动布局,但仍然想知道为什么这会在StackView上发生。

请参见下面两种情况的UI结果:

1️⃣numberOfLines都是两者 1:

Playground

免责声明:☝️这是当数字或行不等于1 时我想要的结果)

2️⃣一个(或两个)numberOfLines分别与不同为1(默认值):

enter image description here

期望的结果

enter image description here

设置:

StackView

alignment: .fill
distribution: .fill
spacing: 8
contentMode: .scaleToFill

标签90C

numberOfLines: 1 //or 0 or 2,3,etc. but then it has result 2 behaviour
lineBreak: .truncateTail
(basically default values)

huggingHorizontal: 750
huggingVertical: 250

compressionHorizontal: 750
compressionVertical: 250

标签2 u。

numberOfLines: 1 //or 0 or 2,3,etc. but then it has result 2 behaviour
lineBreak: .truncateTail
(basically default values)

huggingHorizontal: 250
huggingVertical: 250

compressionHorizontal: 250
compressionVertical: 750

没有任何约束被打破,也没有任何东西可以触发我某些错误。我想以此方式了解这种行为的原因,希望能找到解决方案,希望对此问题表示非常感谢。

如果不清楚,或者缺少某些信息,请随时提出要求。

0 个答案:

没有答案