前几天发现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];
搞定