我该如何在Swift中以编程方式创建约束?

9

我正在尝试使用以下代码设置UIButton的宽度:

constraintButtonPlayWidth = NSLayoutConstraint(item: buttonPlay,
        attribute: NSLayoutAttribute.Width,
        relatedBy: NSLayoutRelation.Equal,
        toItem: self.view,
        attribute: NSLayoutAttribute.Width,
        multiplier: 1,
        constant: 100)
self.view.addConstraint(constraintButtonPlayWidth)

但是这个按钮被拉伸得太长了,可能是因为 toItem: self.view。我尝试修改约束的常量,但那没有改变任何东西。

我该如何正确设置这个约束,使其实际上具有100的宽度?

1个回答

28

你很接近了。这个约束条件只应该有一个单独的项目,因为它不是相对于另一个项目。

constraintButtonPlayWidth = NSLayoutConstraint (item: buttonPlay,
    attribute: NSLayoutAttribute.Width,
    relatedBy: NSLayoutRelation.Equal,
    toItem: nil,
    attribute: NSLayoutAttribute.NotAnAttribute,
    multiplier: 1,
    constant: 100)
self.view.addConstraint(constraintButtonPlayWidth)

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