ios – “固定前导和尾随约束可能导致剪辑”错误?

这里有 this other question解决类似问题,但在这种情况下Xcode的行为是正确的,只是烦人.

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

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

它适用于每个本地化:

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

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

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

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

编辑:

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

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

解决方法

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

清除标签上的所有约束,右键单击从标签拖动到背景视图,然后从弹出菜单中选择“等宽”,“容器中水平居中”和“垂直居中”.

既然你说你想要在标签的左边和右边都有20px的边距,可以在等宽约束上编辑乘数并将其设置为widthOfBackgroundView – 40)/ widthOfBackgroundView.

因此,假设您的背景视图的宽度为414,乘数应为374/414.

宽度减去40乘数的原因是它在标签的两侧覆盖了20px.这应该会使您的警告消失,并按照您期望的方式布置标签.

我有同样的问题,并能够以这种方式修复警告.希望这可以帮助!

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...