headerView動(dòng)態(tài)設(shè)置高度很簡(jiǎn)單,我列出主要代碼陡厘,并附上demo
效果圖:
QQ20180606-172433-HD.gif
1.view部分
headerView采用masonry布局校哎。
UILabel *titleLa = [UILabel new];
titleLa.textColor = FontColor;
titleLa.text = @"title";
[self addSubview:titleLa];
[titleLa mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(img);
make.left.equalTo(img.mas_right).offset(8);
make.height.mas_equalTo(50);
//至關(guān)重要
make.bottom.equalTo(self);
}];
一定記得在最后控件設(shè)置 make.bottom吏夯;
2.Controller部分
[self.headerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(self.view.frame.size.width);
}];
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.view);
}];
[self.tableView layoutIfNeeded];
數(shù)據(jù)請(qǐng)求完成刷新frame
[self.tableView beginUpdates];
[self.tableView setTableHeaderView:self.headerView];
[self.tableView layoutIfNeeded];
[self.tableView endUpdates];