在AutoLayout中求解方程式

时间:2015-10-27 13:28:41

标签: ios autolayout

我有这段代码,我想知道方程式是如何解决的:

-(viewDidAppear){
self.view.autoresizingMask=NO;
NSLayoutConstraint *layouts1 = [NSLayoutConstraint  constraintWithItem:_redView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:_yellowView attribute:NSLayoutAttributeWidth multiplier:3.0f constant:0];
[self.view addConstraint:layouts1];


NSLayoutConstraint *layouts2 = [NSLayoutConstraint constraintWithItem:_yellowView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:_redView attribute:NSLayoutAttributeWidth multiplier:2.0f constant:50];
[self.view addConstraint:layouts2];
}

当我解决这些方程式以获得通用解决方案时,我得到值-10和-30但是当我为yellowView获得一些宽度而没有用于redView时。我已经尝试了几乎所有东西以使其现在正常工作,但我无法追踪自动布局的行为。 我想知道这些方程是如何解决的?

Constraint1    Constraint2

1 个答案:

答案 0 :(得分:0)

Atlast我得到了它。它将黄色视图的宽度视为未知并计算它,因为黄色视图的前导取决于红色视图。所以等式将是这样的:

Wr = Wy*3 + 0;
50 = Wy*3;
Wy = 16.66;