第一步、使用一个变量保存变化的 高度或宽度或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];