gpt4 book ai didi

ios - 如何使用 Masonry mas_makeConstraints 避免冲突?

转载 作者:行者123 更新时间:2023-11-29 11:58:15 25 4
gpt4 key购买 nike

[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 吗?

最佳答案

苹果文档说:

Unlike the other properties, the constant may be modified after constraint creation. Setting the constant on an existing constraint performs much better than removing the constraint and adding a new one that's just like the old but for having a new constant.

让我们在下面粘贴一些原始约束:

[NSLayoutConstraint constraintWithItem:view1
attribute:NSLayoutAttributeTop
relatedBy:NSLayoutRelationEqual
toItem:superview
attribute:NSLayoutAttributeTop
multiplier:1.0
constant:padding.top]

根据docmas_updateConstraints 应该更改现有约束的常数 值,但是,乘数不是常数部分。

根据 doc 改为使用 mas_remakeConstraints , 在安装新的之前删除所有现有的。

关于ios - 如何使用 Masonry mas_makeConstraints 避免冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38179894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com