在关于NSLayoutConstraint
视觉格式语言的文档中,有一个示例,您指定 button1 的宽度等于 button2:
[button1(==button2)]
我的问题:有没有办法使按钮 1 等于按钮 2 的 + 常量。我试过了:
[button1(==button2+10)]
和
[button1(==(button2+10))]
两者都失败了.. 这是一个错误示例:
A predicate on a view's thickness must end with ')' and the view must end with ']'
V:[tagWrapper(==tagButton+10)]
^'
(我显然知道你可以通过做一个NSStringWithFormat并简单地填写有问题的变量来做到这一点......但这看起来太混乱了)
想法?
附言以防万一你好奇为什么我想坚持使用视觉格式语言(而不是像这个答案这样的其他方法......或者在那里使用包装库......看看这个代码示例)
某些约束不能使用视觉对象格式语言指定。您可以使用这样的简单约束:
NSLayoutConstraint *c;
c = [NSLayoutConstraint constraintWithItem:button1
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:button2
attribute:NSLayoutAttributeWidth
multiplier:1.0
constant:10.0];