带有3个标签的iOS水平UIStackView - 第一个标签将其他标签推到视线之外

xxt*_*axx 6 uilabel ios autolayout swift uistackview

我不确定我UIStackView是否理解正确.我有UIStackView一个UITableViewCell.它包含3 UILabel并设置为对齐和分配填充.

当我的第一个标签文字不长时,它看起来都很好.第二个和第三个标签占用了他们需要的空间,并且它们与右侧对齐.第一个标签占据了剩下的空间.

但是,当第一个标签包含大量文本时,它会将其他两个标签推出可见区域.我该怎么做才能确保第二个和第三个标签始终可见,并占用显示其内容所需的空间.第一个标签应始终占用剩余的可用空间,然后用"..."截断其文本

这是我在Storyboard中的配置:

UIStackView配置

这就是TableView中的结果:

UIStackView结果在UITableView中

xxt*_*axx 14

我尝试了这里提到的其他解决方案,发现它们很难或不实用.我不想以编程方式设置和更改布局约束,所以我继续玩这些值.最后,我找到了一个非常简单的解决方案,它完全符合我的要求.

我所要做的就是在我的第一个标签上设置"内容压缩阻力优先级".第二个和第三个标签有750个,它们有251个和252个用于"内容拥抱优先级",而第一个标签的值为749和250.这给了我我想要的结果.

不管怎样,谢谢你们.有时我觉得在问这里之后我能更快地找到问题的解决方案.我希望我的回答将来会帮助别人.

这个: 在此输入图像描述

结果给我这个(注意我在第三行的第二个和第三个标签上将"isHidden"设置为true): 在此输入图像描述