在关于NSLayoutConstraint
的可视格式语言的docs中,有一个例子,你指定button1的宽度等于button2:
[button1(==button2)]
我的问题:有没有办法让button1等于按钮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并简单填写有问题的变量来做到这一点..但这看起来太乱了)
想法?
P.S。万一你好奇我为什么要坚持使用视觉格式语言(而不是像this回答那样做其他方式...或者在那里使用wrapper libraries ..查看{ {3}}代码示例)
答案 0 :(得分:4)
无法使用可视格式语言指定某些约束。您可以使用这样的简单约束:
NSLayoutConstraint *c;
c = [NSLayoutConstraint constraintWithItem:button1
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:button2
attribute:NSLayoutAttributeWidth
multiplier:1.0
constant:10.0];