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