前幾天發(fā)現(xiàn)mansonry更新約束做動畫的時候非常不好使,最后折中想了一個方法
1.首先需要一個dataArray的實例
/// 此dataArray是為了存取在搜索框上的約束(MSContraints);
NSMutableArray *dataArray;
dataArray = [[NSMutableArray alloc]init];
2.在添加的控件的約束里,把這些約束對象都加上
[back_view mas_makeConstraints:^(MASConstraintMaker *make) {
[dataArray addObjectsFromArray:@[
make.top.mas_equalTo(topView.mas_bottom).offset(20/2.0),
make.left.equalTo(@20),
make.right.mas_equalTo(@-20),
make.height.mas_equalTo(@35)]];
}];
//此時dataArray 里面加載的都是MASConstraint對象了
3.使用
UIEdgeInsets insets = UIEdgeInsetsMake(- 50, 20, 0, 65);
for (MASConstraint *contraint in dataArray) {
contraint.insets = insets;
}
///建議用這個方法更改,同時需要在此處生效的話,千萬千萬別忘記了這句話
[self.view layoutIfNeeded];
搞定