我正在尝试使用以下代码设置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?
答案 0 :(得分:26)
你很亲密。约束只应该有一个项目,因为它与另一个项目无关。
constraintButtonPlayWidth = NSLayoutConstraint (item: buttonPlay,
attribute: NSLayoutAttribute.Width,
relatedBy: NSLayoutRelation.Equal,
toItem: nil,
attribute: NSLayoutAttribute.NotAnAttribute,
multiplier: 1,
constant: 100)
self.view.addConstraint(constraintButtonPlayWidth)
答案 1 :(得分:1)
toItem
应设置为nil,以便您的代码如下所示:
constraintButtonPlayWidth = NSLayoutConstraint (item: buttonPlay,
attribute: NSLayoutAttribute.Width,
relatedBy: NSLayoutRelation.Equal,
toItem: nil,
attribute: NSLayoutAttribute.Width,
multiplier: 1,
constant: 100)
self.view.addConstraint(constraintButtonPlayWidth)