使用Masonry的时候,创建好了约束,但是想要进行一些位置变化时用以做些动画之类的简单效果而使用updateConstraints进行设置却发现没有效果。
原因就是使用updateConstraints更新的时候必须是makeConstraints里面设置过的约束。只是这样还不行,就比如
[xxxmakeConstraints:^(MASConstraintMaker*make) {
make.left.right.equalTo(self.view);
make.bottom.equalTo(self.view.mas_bottom).offset(-5);
}];
[xxx updateConstraints:^(MASConstraintMaker *make) {
make.left.right.equalTo(self.view);
make.bottom.equalTo(self.view.mas_top).offset(5);
}];
虽然设置的make.bottom没错,但是约束对象不匹配也是不能成功,如果你能成功,那么,你就写两遍updateConstraints操作再试试。
以上方法约束改成
[xxx updateConstraints:^(MASConstraintMaker *make) {
make.left.right.equalTo(self.view);
make.bottom.equalTo(self.view.mas_bottom).offset(5);
}];
就可以成功。
版权声明:本文为WQ5201314O原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。