我确实在故事板中使用了带中心约束的乘数,现在我想以编程方式做同样的事情,但不知道如何去做。
不,this thread没有帮助,因为接受的答案是一个解决方案,如果超级视图大小稍后发生更改,则不会自动调整大小。
情节提要中心X约束:
我尝试过但没有成功的:
// Does not exist
buttonLeft.centerXAnchor.constraint(equalTo: centerXAnchor, multiplier: 0.5).isActivate = true
// error shown:
// Cannot convert value of type 'NSLayoutXAxisAnchor' to expected argument type 'NSLayoutConstraint.Attribute'
let newConstraint = NSLayoutConstraint(item: self, attribute: centerXAnchor, relatedBy: .equal, toItem: buttonLeft, attribute: centerXAnchor, multiplier: 0.5, constant: 0)
这可能吗?
- 是的:怎么做?
- 否:你有没有解释为什么它不可能通过编程实现?这是不是一种结合糖隐藏着更复杂的东西?我迷路了。
是的,当使用故事板设置这个约束时,它就像预期的那样工作
2条答案
按热度按时间x4shl7ld1#
因此,可能是我错用了
centerXAnchor
,而不是使用了.centerX
另外,我调用每个项目的顺序也不正确:
虽然我找不到任何方法来创建约束使用锚的方法。
omqzjyyz2#
在以编程方式添加约束之前,请尝试使用self.view. translates AutoresizingMaskIntoConstraints = false。