mas_makeConstraints &&  mas_remakeConstraints && mas_updateConstraints 用法与注意事项

本文详细介绍了Masonry布局库中的mas_makeConstraints、mas_remakeConstraints和mas_updateConstraints的用法及注意事项。mas_makeConstraints用于新增约束,必须先将视图添加到父视图;mas_remakeConstraints会清除所有旧约束,只保留新的约束;mas_updateConstraints用于更新已有约束,避免约束冲突,但需确保更新的约束与mas_makeConstraints中一致。
摘要由CSDN通过智能技术生成

1 mas_makeConstraints 只负责新增约束,Autolayout 不能同时存在两条针对于同一对象约束 否则会报错
注意:在添加约束之前一定要添加到view( [testView addSubview:self.view])上 否则会报错

[testView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.equalTo(view1.mas_trailing).offset(10);
make.bottom.equalTo(view2.mas_bottom).offset(-2);
make.height.mas_equalTo(70);
make.width.mas_equalTo(50);
}];

2 mas_remakeConstraints 会清除之前的所有约束 仅保留最新的约束

如下:会清除原来的以view1 和view2 为参照的约束 保留 以view3 和view4 为参照的约束
[testView mas_remakeConstraints :^(MASConstraintMaker *make) {
make.bottom.equalTo(view3.mas_top).offset(-10);
make.centerX.equalTo(view4.mas_centerX);
make.height.mas_equalTo(70);
make.width.mas_equalTo(50);
}];

3 mas_updateConstraints 针对上面的情况 会更新block中出现的约束 不会导致出现两个相同的约束的情况

注意: 同一个对象 使用mas_updateConstraints 一定要保证 block中要更新的元素是 其使用mas_makeConstraints 设置的约束

如下就是正确的 则不会出现约束冲突问题
[testView mas_updateConstrain

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值