Xcode 9 - "Fixed Width Constraints May Cause Clipping" 和其他本地化警告

165

我下载了新的Xcode,在Interface Builder中遇到了许多问题,警告提示如下:

固定宽度约束可能会导致裁剪

情况看起来像这样:

enter image description here

我的应用程序对几种语言进行了本地化,并且我理解警告,即标签的大小可能会在另一种语言中发生变化,但我的应用程序没有这个问题。我昨天在Xcode 8中运行和测试过它,一切正常。我不想花费数小时添加无意义的新约束。

有什么建议的解决方法吗?


我建议你研究一下自动调整大小。 - Dark Innocence
也在为此苦苦挣扎。我在一个没有文本的按钮上(只有一个背景图像),想将其设置为50x50,但是出现了错误。 - Adam G
3
我也是。有些按钮的宽度在所有语言中都保证为50pt。为什么要因此在我本来干净的自动布局报告卡上留下污点呢? - John Scalo
2
即使只有英文本地化,我仍然遇到了这个错误。 - Shades
7
如果你没有任何本地化需求,只是想让这些警告消失,那么请按照这里所示的方法将你的Storyboard移出Base.iproj文件夹即可:https://dev59.com/LFcO5IYBdhLWcg3w7lvq#45040394 - William T.
14个回答

0

当我尝试让按钮与父视图的边缘具有相同的填充时,遇到了类似的问题。

Error case

我最终使用了水平居中约束和等宽约束到父视图。

My solution


0

我想简单地禁用这些警告,因为我正在开发一个测试应用程序,这些警告对于这种类型的应用程序是不相关的。如this answer所述,XCode默认将storyboard放置在Base.lproj文件夹中,并且仅在将它们放置在该文件夹中时才检查这些警告。可以通过使用Finder将有问题的storyboard从Base.lproj文件夹移动到基本项目文件夹的上一级,然后在XCode中删除并重新添加storyboard来消除这些警告。这在我的XCode 12.5.1中消除了警告。

这个解决方案在这个线程的评论中提到过,但我之前忽略了这个评论,所以现在将其作为答案添加。


0
如下图所示,我遇到了错误“固定宽度约束可能导致裁剪”,因为尽管我已将文本框设置为垂直居中,标签具有左边距约束,但我未定义文本框与标签之间的约束,因此XCode提醒我文本框可能会被裁剪(在标签上方呈现)。

enter image description here

在将左侧约束添加到文本框以始终与标签保持一定距离后,XCode认为错误已经解决,不再提示约束警告。

-1

解决错误: 固定宽度约束可能会导致裁剪”和其他本地化问题 您需要选择视图/对象,转到“显示大小检查器”,找到宽度约束并将常量设置为大于或等于:

大小检查器

解决错误: 缺少前导/尾随约束,可能会与其他视图重叠

这意味着Xcode抱怨的视图/对象缺少与相邻视图的前导或尾随约束。

同时按住控制键,拖动到附近的视图/对象

Contrl + PressClick

添加前导或尾随约束

Leading/Trailing Constraint


如果您点击警告三角形,Xcode将自动为您创建这些内容,只需一次点击即可。 - lensovet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接