AutoLayout4、动态更新view的高度宽度或者size

第一步、使用一个变量保存变化的 高度或宽度或size

 

第二步、updateContraints函数中设置view的约束

- (void)updateViewConstraints {
    @weakify(self);
    
    // 设置页头滚动广告
    [_zsyHeaderView mas_remakeConstraints:^(MASConstraintMaker *make) {
        @strongify(self);
        make.top.mas_equalTo(self.view.mas_top);
        make.left.mas_equalTo(self.view.mas_left);
        make.right.mas_equalTo(self.view.mas_right);
        make.height.mas_equalTo(self.headerViewHeight);
    }];
    
    //tableView
    [self.tableView mas_remakeConstraints:^(MASConstraintMaker *make) {
        @strongify(self);
        make.top.mas_equalTo(self.zsyHeaderView.mas_bottom);
        make.left.mas_equalTo(self.view.mas_left);
        make.right.mas_equalTo(self.view.mas_right);
        make.bottom.mas_equalTo(self.view.mas_bottom);
    }];
    
    //次句代码必须写
    [super updateViewConstraints];
}

 

第三步、某个时刻改变view的属性

// 作改变属性的代码

// 后面2句代码,表示立刻更新约束
[self.view layoutIfNeeded];
[self.view setNeedsUpdateConstraints];
相关文章
相关标签/搜索