Swift:自动布局 - 文本列 - 删除尾随和前导警告
Swift: Auto Layout - Columns of Text - removing trailing and leading warnings
我有两列文本。左侧锚定在顶部、左侧和底部,右侧则相反。这仍然会生成前导和尾随警告。我如何连接两列的行以告诉自动布局只展开中间的 space?
虽然 您 确切知道您要在这些标签中放入什么文本,但 Storyboard / Interface Builder (IB) 没有想法。
所以这对你来说很不错:
但是...如果“日期”文本更改为 “您想什么时候开始?”会怎样?:
因为我们没有在两个标签之间给出约束,所以它们重叠。
所以,让我们在两个“行”上做同样的事情,但是,在标签之间添加 8
的 Trailing-to-Leading 约束:
我们已经阻止了重叠,但现在我们看到了一个新问题(IB 会警告您)...哪个 标签应该压缩吗? IB(以及 运行 时的自动布局)将做出自己的决定,这可能不是您想要的,并且在类似布局之间可能不一致。
为了解决这个问题,我们为 not[= 标签提供了更高的 Content Compression Resistance Priority 56=] 想要压缩:
这是结果 - 顶部“行”的左侧标签默认为 750,右侧标签默认为 751,底部“行”的左侧标签默认为 751 ,以及默认值为 750 的右侧标签:
它看起来与“C”相同,但我们不再拥有来自 IB 的 errors/warnings。
因此,即使您知道两栏中的文本永远不会重叠,IB 仍会鼓励您提供足够的约束(和优先级设置)以确保您得到您想要的内容。
我有两列文本。左侧锚定在顶部、左侧和底部,右侧则相反。这仍然会生成前导和尾随警告。我如何连接两列的行以告诉自动布局只展开中间的 space?
虽然 您 确切知道您要在这些标签中放入什么文本,但 Storyboard / Interface Builder (IB) 没有想法。
所以这对你来说很不错:
但是...如果“日期”文本更改为 “您想什么时候开始?”会怎样?:
因为我们没有在两个标签之间给出约束,所以它们重叠。
所以,让我们在两个“行”上做同样的事情,但是,在标签之间添加 8
的 Trailing-to-Leading 约束:
我们已经阻止了重叠,但现在我们看到了一个新问题(IB 会警告您)...哪个 标签应该压缩吗? IB(以及 运行 时的自动布局)将做出自己的决定,这可能不是您想要的,并且在类似布局之间可能不一致。
为了解决这个问题,我们为 not[= 标签提供了更高的 Content Compression Resistance Priority 56=] 想要压缩:
这是结果 - 顶部“行”的左侧标签默认为 750,右侧标签默认为 751,底部“行”的左侧标签默认为 751 ,以及默认值为 750 的右侧标签:
它看起来与“C”相同,但我们不再拥有来自 IB 的 errors/warnings。
因此,即使您知道两栏中的文本永远不会重叠,IB 仍会鼓励您提供足够的约束(和优先级设置)以确保您得到您想要的内容。