解决情节提要缺少尾随/前向约束警告

时间:2018-07-25 10:17:16

标签: ios xcode storyboard constraints

我将为所有iPhone机型(iOS 10.0+)提供我的应用程序,并确保在所有本地化版本中,标签和控件都不会重叠。

在一个简单的静态单元格中,只需给左侧的标签一个前导约束并将其垂直居中就足够了。右边的控件将执行相同的操作,但有一个尾随约束。一切都会好起来的。

直到Xcode警告。

它要求缺少尾随或前导约束,以避免在任何情况下重叠(在我的情况下不会发生)。

这是一个简单的测试用例: Here is a simple test case:

为了确保警告,我通过在右侧设置领先限制10.0来消除警告。工作正常。 (所附图片第一行)

但是,如果使用分段控件,则将其一直扩展到标签的左侧到右侧。附加的图片第三行)即使我将标签的尺寸进一步增加到了右边,它也会影响标签的宽度。

由于我希望像第二行一样具有该单元格,因此我在视图控制器中做了我认为很糟糕的事情,在这种情况下,我必须为每个屏幕尺寸指定确切的x值(可以,但我想避免)(毕竟是故事板...):

@IBOutlet weak var mySegmentedControl: UISegmentedControl!

override func viewWillLayoutSubviews() {
    mySegmentedControl.frame = CGRect(x: 238.0, y: mySegmentedControl.frame.minY,
                                      width: 121.0, height: mySegmentedControl.frame.height)
  }

有没有更好的方法来实现这一目标?

1 个答案:

答案 0 :(得分:2)

新版本的Xcode会显示为警告。

您可以修复此UILabel尾随添加大于或等于约束。

注意:您可以通过点击My Table View Controller Scene文本附近的黄色右箭头来快速修复

UILabel的长度是可变的。将文本设置为标签时,它将自动调整大小。如果未设置拖尾约束,则它可能与其他视图重叠(在这种情况下为分段控件)。如果添加固定约束,它将起作用,但是新的Xcode将其显示为警告。因此,我们必须将其更改为大于或小于约束。