我想知道这个乘数和常量在constraintWithItem中代表什么,我们在使用编码来设置自动布局时使用它?
码:
[NSLayoutConstraint constraintWithItem:centerView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.view
attribute:NSLayoutAttributeWidth
multiplier:0.5
constant:0]
最佳答案
一般公式如下:newValue = oldValue * multiplier + constant
在这种情况下,新值将是您为视图指定的属性的计算值,该值作为第一个参数传递,旧值是指定属性的第二个视图的值。如果传递NSLayoutAttributeNone
,则multiplier参数将无效,仅考虑常量(因此,可以为某些视图指定宽度或高度,例如但不仅限于此)。
Good reference here
如果我的解释令人困惑,那么从苹果公司的参考书中,您可能会在下面找到特别解释(准确)的部分:
约束表示形式为view1.attr1乘数×view2.attr2 + c的线性方程。如果要表达的约束没有第二个视图和属性,请使用nil和NSLayoutAttributeNotAnAttribute。
作为现实生活中的示例,该方法可用于以下情况:
我希望这个视图比这个视图宽两倍
我希望该视图的属性具有该值
还有很多 :)