我在一个superview中创建了两个视图,然后在视图之间添加了约束:
_indicatorConstrainWidth = [NSLayoutConstraint constraintWithItem:self.view1 attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.view2 attribute:NSLayoutAttributeWidth multiplier:1.0f constant:0.0f];
[_indicatorConstrainWidth setPriority:UILayoutPriorityDefaultLow];
_indicatorConstrainHeight = [NSLayoutConstraint constraintWithItem:self.view1 attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:self.view2 attribute:NSLayoutAttributeHeight multiplier:1.0f constant:0.0f];
[_indicatorConstrainHeight setPriority:UILayoutPriorityDefaultLow];
[self addConstraint:_indicatorConstrainWidth];
[self addConstraint:_indicatorConstrainHeight];
Run Code Online (Sandbox Code Playgroud)
现在我想用动画更改乘数属性,但我无法弄清楚如何更改多重属性.(我在头文件NSLayoutConstraint.h中的私有属性中找到了_coefficient,但它是私有的.)
如何更改多重属性?
我的解决方法是删除旧约束并添加具有不同值的新约束multipler.
假设我有一个包含UIView的UIView,它必须是4:3.我想在代码中使用AutoLayout解决这个问题.
我一直在与AutoLayout挣扎,但我还没想出怎么做.
你知道如何解决这个问题吗?
非常感谢你.
我附上一张图片来更好地解释我的意思. http://d.pr/i/d0Oc
autolayout ×2
ios ×2
objective-c ×2
aspect-ratio ×1
ios6 ×1
iphone ×1
swift ×1
uikit ×1
uiview ×1