ios auto-layout:以编程方式设置宽度约束

You*_*sef 19 iphone constraints ios autolayout

我正在开发一个ios应用程序.我以编程方式将自动布局添加到2个标签.

我需要添加一个约束来使它们的宽度相等.

我知道如何通过使用以下方法来修复标签的宽度:

constraint = [NSLayoutConstraint
    constraintWithItem:myLabel
             attribute:NSLayoutAttributeWidth
            relatedBy:NSLayoutRelationEqual
              toItem: nil
           attribute:NSLayoutAttributeNotAnAttribute
          multiplier:1.0f
            constant:200.0f];
Run Code Online (Sandbox Code Playgroud)

这会将标签大小固定为常数.但我有2个标签,我希望它们具有相同的大小而不必设置常量.

You*_*sef 16

原来我只需要做以下事情:

constraint = [NSLayoutConstraint
    constraintWithItem:myLabel
        attribute:NSLayoutAttributeWidth
        relatedBy:NSLayoutRelationEqual
          toItem: otherLabel
       attribute:NSLayoutAttributeWidth
      multiplier:1.0f
        constant:0];
Run Code Online (Sandbox Code Playgroud)

  • 为什么你需要一个toItem:otherLabel? (2认同)
  • 如果我只想添加宽度约束到myLabel怎么办?我会为"toItem"做些什么.我试过没有,但这没什么用.谢谢 (2认同)
  • @VanDuTran你必须把`toItem:nil`并在常量中指定想要的大小.例如`常数:100`.如果您遇到问题,可以发布一个新的SO问题,您将获得答案. (2认同)