"修正了前导和尾随约束可能导致剪辑"错误?

dbm*_*mrq 7 xcode constraints storyboard ios xcode9

这里有另一个问题,解决了类似的问题,但在这种情况下,Xcode的行为是正确的,只是烦人.

然而,在我的情况下,我认为它实际上是一个错误:

例

该标签可以有无限数量的行,因此它永远不会被剪裁,文本将会破坏.

它适用于每个本地化:

例题

我希望标签居中,我希望文本距离边距至少20像素,因此我为前导和尾随设置了固定约束.Xcode希望我将其中一个更改为"大于或等于"约束,但在这种情况下,文本将不会完全居中(我尝试过).

我想要的只是中心文本,它不会太靠近边距,但现在我无法在不触发警告的情况下完成.

有想法该怎么解决这个吗?它真的是一个错误,还是我做错了什么?


编辑:这是显示错误的屏幕截图.约束不是直接在视图控制器中,而是在我用作表视图的背景的子视图中.如果我删除这些限制,警告就会消失; 如果我把它们添加回去,它会再次出现.我在一个新项目中试过这个并且无法重现它,我不知道它为什么会在这里发生.

示例3

编辑:

这是另一个例子.当右边约束设置为"大于或等于"时,所有的好:

范例4

一旦我将它设置为"相等",繁荣:

例5

小智 6

如果您仍在寻找答案,在您的特定情况下,请尝试在标签上设置比例宽度并在视图控制器的视图中水平居中。

清除所有限制的标签,从标签上单击鼠标右键拖动到Background View和选择Equal WidthsCenter Horizontally in Container以及Center Vertically in Container从弹出菜单中。

现在,既然您说您希望标签的左侧和右侧都有 20 像素的边距,请编辑Multiplier等宽约束上的 并将其设置为widthOfBackgroundView - 40)/widthOfBackgroundView.

所以假设你的背景视图的宽度是414,乘数应该是374/414

width minus 40乘数的原因是它覆盖了标签两侧的 20px。这应该会使您的警告消失并按照您期望的方式布置标签。

我遇到了同样的问题,并且能够以这种方式修复警告。希望这可以帮助!


小智 2

检查Xcode 9GM(版本9.0(9A235)),它工作正常

Xcode 截图

删除约束并手动添加它们。