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

How do I create constraints programmatically in Swift?

我正在尝试使用以下代码设置 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?

你很接近。约束应该只有一个项目,因为它与另一个项目无关。

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