Masonry设置头视图
HeaderView *headerView = [HeaderView new];
tableView.tableHeaderView = tableView;
[tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(self.view);
}];
// 必须设置
[headerView layoutIfNeeded];
tableView.tableHeaderView = headerView;
使用系统方法设置头视图、脚视图自适应高度,脚视图不能使用上述头视图Masonry设置、否则脚视图的位置会从{0,0}开始
HeaderView *headerView = [HeaderView new];
CGSize size = [headerView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
headerView.frame = CGRectMake(0, 0, size.width, size.height);
tableView.tableHeaderView = headerView;
-------------------------------------------------------------------------------------------------
section区头、尾视图Masonry设置
// 设置预设高度及自适应高度 cell设置同理
tableView.estimatedSectionHeaderHeight = 10;
tableView.sectionHeaderHeight = UITableViewAutomaticDimension;
tableView.estimatedSectionFooterHeight = 10;
tableView.sectionFooterHeight = UITableViewAutomaticDimension;
实现
// masonry布局就不需要返回高度
//- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
//
//}
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{
UIView *view = [UIView new];
UILabel *label = [UILabel new];
label.text = @"主标题";
[view addSubview:label];
[label mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self);
make.top.mas_equalTo(10);
}];
UILabel *label2 = [UILabel new];
label2.text = @"副标题";
[view addSubview:label2];
[label2 mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self);
make.top.mas_equalTo(label.mas_bottom).mas_equalTo(10);
make.bottom.mas_equalTo(self).mas_equalTo(-10);
}];
return view;
}
网友评论