iOS Masonry使用注意事项

需要先调用addsubview方法把yourView添加到父视图上。

1、添加约束

  • 使用 mas_makeConstraints
[self.yourView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.mas_equalTo(100);
        make.height.mas_equalTo(30);
        make.left.mas_equalTo(20);
        make.right.mas_equalTo(-20);
}];

2、移除之前的所有约束,并使用block里面的新约束重新布局

  • 使用 mas_remakeConstraints
[self.yourView mas_remakeConstraints:^(MASConstraintMaker *make) {
        make.top.mas_equalTo(200);
        make.height.mas_equalTo(50);
        make.left.mas_equalTo(20);
        make.right.mas_equalTo(-20);
}];

3、更新约束

  • 使用 mas_updateConstraints
[self.yourView mas_updateConstraints:^(MASConstraintMaker *make) {
       make.top.mas_equalTo(400);
}];

4、简易动画

  • 使用 mas_updateConstraints
  • 如果yourView需要添加动画,必须执行父视图的layoutIfNeeded方法,因为视图动画frame的变动是相对父视图的,所以父视图需要执行layoutIfNeed才会重新布局对应的UI。
  • 如果用yourView执行layoutIfNeed只会重新布局,不会产生动画。
  • 可以写成[self.view layoutIfNeeded];或者[self.yourView.superview layoutIfNeeded];
[UIView animateWithDuration:0.5 animations:^{
            
       [self.yourView mas_updateConstraints:^(MASConstraintMaker *make) {
            make.top.mas_equalTo(600);
       }];
       [self.view layoutIfNeeded];
            
}];

5、全剧终

你可能感兴趣的:(iOS Masonry使用注意事项)