AutoLayout四、动态更新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];

 

posted on 2015-07-22 15:03  ZainH  阅读(431)  评论(0)    收藏  举报