我想知道这个乘数和常数在constraintWithItem中的含义,我们在使用编码设置自动布局时会使用它吗?
代码:
[NSLayoutConstraint constraintWithItem:centerView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.view
attribute:NSLayoutAttributeWidth
multiplier:0.5
constant:0]
答案 0 :(得分:1)
一般等式如下:
newValue = oldValue * multiplier + constant
在这种情况下,新值将是您为视图指定的属性的计算值,该属性作为第一个参数传递,旧值是指定属性的第二个视图的值。如果你传递NSLayoutAttributeNone
那么乘数参数将没有效果只会考虑常量(所以这样你可以为某些视图指定宽度或高度,例如但不仅仅是)。
如果我的解释令人困惑,那么从Apple的参考文献中你可能会发现下面部分特别具有说明性(并且精确):
约束表示形式为view1.attr1乘数×view2.attr2 + c的线性方程。如果您希望表达的约束没有第二个视图和属性,请使用nil和NSLayoutAttributeNotAnAttribute。
作为一个真实的例子,该方法可用于以下情况: