AutoLayout了解乘数

Ome*_*lan 9 iphone ios autolayout

我有乘法器的问题,无法理解这个功能是如何工作的.例如,我有视图有6:1乘数(To SuperView.Leading)如下所示.

SuperView.Leading与6:1乘数图片 当我将乘数改为2:1时,它似乎在下面.

在此输入图像描述 我的问题是6:1的关系,6和1是什么意思.并且在2:1的关系中,2和1的意思是什么.类似的考虑你有三个视图,如下图所示.子视图和superView之间总共有4个空白区域.我怎么说每个空白区域必须是SuperView.Width/6(并且每个空白宽度必须相等) 在此输入图像描述

提前致谢.

app*_*y21 12

使用自动布局时,尤其是在使用比例布局时,必须使用乘数.

我必须在这里解释一些数学.我们知道直线方程.

Y = Mx + C.

在上面的等式中.假设M是你的乘数,C是你的常数.

因此,假设你有414(宽度)x 736(高)尺寸的超级视图(如果是iphone 6s plus).在该视图中假设您创建了子视图.

现在,如果您希望子视图大小超出superview大小的一半,那么只需将两个约束从子视图拖到superview.(即等宽和等高)

看到这张图片

在此输入图像描述

显然现在你会收到一个错误.就像我得到的一样.(见下图)

在此输入图像描述

现在逐个单击两个约束,并使用乘数为0.5.然后使用上面的直线方程.这里0.5表示你想要subview = superviewWidth/2.0的宽度,即212 px.

换句话说,您也可以提供乘数212:414.

Y ie subviewWidth =((M ie 0.5)*(x ie 414,即superviewWidth))+(常数即零)

最后你得到subviewWidth = 212 px

同样适用于子视图的高度.提供乘数0.5或368:736.

完成所有操作后,不要忘记单击子视图并更新帧.

这种方式常量和乘数将起作用.

  • 多谢!一张小纸条:0.5 * 414 = 207 :) (2认同)