
我有两列文字。左面锚定在顶部,左边和底部,右侧则相反。这仍然会生成引导和尾随警告。如何将这两列的行连接起来,告诉Auto布局只需在两者之间扩展空间?
发布于 2021-03-21 13:22:29
虽然您确切地知道要将什么文本放入这些标签,但是Storyboard / Interface (IB)不知道。
所以你觉得这很棒:

但是..。如果“日期”文本更改为“何时开始”,会发生什么情况?

因为我们没有给出两个标签之间的约束,所以它们是重叠的。
因此,让我们在两个“行”上做同样的事情,但是,在标签之间添加一个8的尾部到前导约束:

我们已经阻止了重叠,但是现在我们看到了一个新的问题( IB会警告您).哪个标签应该被压缩?IB (以及运行时的自动布局)将做出自己的决定,这可能不是您想要的,而且可能在类似的布局之间不一致。
为了解决这个问题,我们给出了一个更高的内容压缩抵抗优先级(),它位于而不是想要压缩的标签上:

下面的结果顶部的“行”默认为750,右边的标签为751,底部的“行”为751,右边的标签为751,右标签的默认值为750:

它看起来与"C“相同,但是我们不再有来自IB的错误/警告。
因此,即使您知道您的两列中的文本永远不足以重叠,IB也会鼓励您提供足够的约束(和优先级设置),以确保您得到了所需的内容。
https://stackoverflow.com/questions/66730350
复制相似问题