Mat*_*uch 10
您创建一个Width less Than or Equal 150约束.这是因为按钮具有固有宽度,因此约束将其限制为最大宽度为150磅.
但这会与你的边缘限制发生冲突,因为他们想让按钮宽度超过150点.如果降低边缘约束的优先级,则宽度约束优先.只有在不破坏宽度约束的情况下,才会满足边缘约束.边缘约束不会消失,它们仍然会在按钮上设置一些"拉",但它们无法断言它们的全部"力".所以他们只需将其拉到150点的最大宽度.
这是你如何做到的:
创建"常规"宽度约束,然后在侧栏中编辑该约束,使其成为"小于或等于"约束.

接下来,选择边缘约束并将其优先级降低到小于1000的值.

而且你有一个按钮,直到150点宽.
在代码中:
let button = UIButton()
button.setTranslatesAutoresizingMaskIntoConstraints(false)
button.backgroundColor = UIColor.redColor()
button.setTitle("Button", forState: .Normal)
view.addSubview(button)
let centerXConstraint = NSLayoutConstraint(item: button, attribute: .CenterX, relatedBy: .Equal, toItem: self.view, attribute: .CenterX, multiplier: 1, constant: 0)
view.addConstraint(centerXConstraint)
let centerYConstraint = NSLayoutConstraint(item: button, attribute: .CenterY, relatedBy: .Equal, toItem: self.view, attribute: .CenterY, multiplier: 1, constant: 0)
view.addConstraint(centerYConstraint)
let views = ["button" : button]
let horizontalConstraints = NSLayoutConstraint.constraintsWithVisualFormat("|-(100@999)-[button(<=150)]-(100@999)-|", options: nil, metrics: nil, views: views)
view.addConstraints(horizontalConstraints)
Run Code Online (Sandbox Code Playgroud)
最后两行包含重要约束.
| 归档时间: |
|
| 查看次数: |
1588 次 |
| 最近记录: |