【发布时间】:2015-01-17 22:29:14
【问题描述】:
作为自动布局中约束属性的乘数有什么作用?
【问题讨论】:
标签: interface-builder autolayout size-classes
作为自动布局中约束属性的乘数有什么作用?
【问题讨论】:
标签: interface-builder autolayout size-classes
约束中两个值之间的关系由一个公式确定:
b = am + c
其中a 和b 是要关联的两个值,m 是乘数,c 是常数。
因此,例如,如果一个宽度是另一个宽度的两倍,那么显然乘以 2 是有意义的(以及常数 0)。但是,如果一个宽度比另一个多 10,那么常量 10 将是有意义的(以及 1 的乘数)。
很明显,默认的乘数是1,常数是0。这使得a 和b 相等。
专家补充:在幕后,这个公式结构的部分原因是你最终得到了一组联立线性方程来求解。这就是解决各种约束以获得实际布局的方式。
【讨论】:
根据Apple's docs:“常量乘以约束右侧的属性,作为获取修改后属性的一部分。”
它很有用,例如,如果您希望一个视图的高度是另一个视图高度的 35%。在这种情况下,您将创建一个约束,使其高度等于乘数 0.35。
【讨论】: