【发布时间】:2016-07-04 08:19:51
【问题描述】:
[self.line mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(_line.superview).multipliedBy(0.5);
}];
[self.line mas_updateConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(_line.superview).multipliedBy(1.66666);
}];
"<MASLayoutConstraint:0x14efa7170 UIView:0x14ef3f5a0.centerY == UIView:0x14ef3ec00.centerY * 0.5>",
"<MASLayoutConstraint:0x15026dcb0 UIView:0x14ef3f5a0.centerY == UIView:0x14ef3ec00.centerY * 1.66666>"
当我尝试更新约束时,会出现冲突,如何正确使用?
看起来更新操作创建了一个新的约束而不是改变它的值。
不能在mas_updateConstraints中应用吗?
我必须使用 mas_remakeConstraints 吗?
【问题讨论】:
-
冲突描述是什么?
-
看起来更新操作创建了一个新的约束,而不是改变它的值。
-
根据 Masonry 所说,我认为您的代码没有问题。我研究了 Masonry 问题,作者 robertjpayne 说的
however, you cannot alter the multiplier ( NSLayoutConstraint does not allow it ) so you need to use mas_remakeConstraints to update it.
标签: ios autolayout constraints masonry