使用Masonry的时候进行updateConstraints没有效果

使用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版权协议,转载请附上原文出处链接和本声明。