iOS自动布局:以编程方式设置宽度约束。

19

我正在开发一款iOS应用程序。我正在通过编程方式将自动布局添加到两个标签中。

我需要添加一个约束条件使它们的宽度相等。

我知道如何通过使用以下代码来固定标签的宽度:

constraint = [NSLayoutConstraint
    constraintWithItem:myLabel
             attribute:NSLayoutAttributeWidth
            relatedBy:NSLayoutRelationEqual
              toItem: nil
           attribute:NSLayoutAttributeNotAnAttribute
          multiplier:1.0f
            constant:200.0f];

那会将标签大小固定为一个常数。但是我有两个标签,我希望它们的大小相等,而不必设置一个常数。

1个回答

16

结果证明,我只需要按照以下步骤进行:

constraint = [NSLayoutConstraint
    constraintWithItem:myLabel
        attribute:NSLayoutAttributeWidth
        relatedBy:NSLayoutRelationEqual
          toItem: otherLabel
       attribute:NSLayoutAttributeWidth
      multiplier:1.0f
        constant:0];

2
为什么需要一个toItem: otherLabel? - Van Du Tran
想法是使“myLabel”和“otherLabel”具有相等的宽度。因此,我将其中一个放在“withItem”中,另一个放在“otherItem”中。 - Y2theZ
2
如果我只想为myLabel添加宽度约束,那么"toItem"应该填什么?我尝试过使用nil,但效果不佳。谢谢。 - Van Du Tran
2
@VanDuTran,你需要将 toItem: nil 放入常量中并指定所需的大小。例如 constant: 100。如果你遇到问题,可以发布一个新的 SO 问题,你会得到答案。 - Y2theZ

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