我想设置一个约束,以编程方式为 UIButton 提供固定(恒定)宽度。我知道我可以使用 constraintsWithVisualFormat 来做到这一点,但我一直在使用 constraintWithItem 来处理代码中的所有约束。为了好奇/一致性,我想知道是否有任何方法可以使用 constraintWithItem 来做到这一点。
最佳答案
找到我的解决方案。只需将另一个对象设置为nil,将另一个属性设置为NSLayoutAttributeNotAnAttribute(这是我没有想到的)并使用固定宽度的常量参数:
[self addConstraint:[NSLayoutConstraint constraintWithItem:myButton
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:nil
attribute:NSLayoutAttributeNotAnAttribute
multiplier:1.0
constant:200]];
编辑:由于这个答案似乎仍然得到了相当多的意见,我想我会添加 Swift 语法:
self.addConstraint(NSLayoutConstraint(
item: myButton,
attribute: .width,
relatedBy: .equal,
toItem: nil,
attribute: .notAnAttribute,
multiplier: 1.0,
constant: 200))
关于iOS NSLayoutConstraint 使用 constraintWithItem 固定宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27681963/