MansonryBUG,使用updateConstraints更新约束做动画效果的补救

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

搞定

你可能感兴趣的:(MansonryBUG,使用updateConstraints更新约束做动画效果的补救)