UITableView 的 tableHeaderView 使用Masonry布局

UITableView使用UITableViewStylePlain样式。

UIView *view = [[UIView alloc] init];
view.backgroundColor = [UIColor redColor];
[view addSubview:self.customHeaderView];
[_customHeaderView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.edges.equalTo(view);
}];
_tableView.tableHeaderView = view;
__weak typeof(self) weakSelf = self;// 个人习惯
[view mas_remakeConstraints:^(MASConstraintMaker *make) {
    make.top.width.equalTo(weakSelf.tableView);
}];
[_tableView layoutIfNeeded];

UITableView使用UITableViewStyleGrouped样式(使用的时候遇到了tableview的headerView与第一个分组之间有一块多余的空白,解决方法是设置一个固定的高度,若你也遇到了相同的问题,可以尝试一下)。

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, CGFLOAT_MIN)]; // 此处设置一个固定高度,解决有空白的问题
view.backgroundColor = [UIColor redColor];
[view addSubview:self.customHeaderView];
[_customHeaderView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.edges.equalTo(view);
}];
_tableView.tableHeaderView = view;
__weak typeof(self) weakSelf = self;
[view mas_remakeConstraints:^(MASConstraintMaker *make) {
    make.top.width.equalTo(weakSelf.tableView);
    make.height.equalTo(weakSelf.customHeaderView.mas_height).priorityHigh();
}];
[_tableView layoutIfNeeded];
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、简介 <<UITableView(或简单地说,表视图)的一个实例是用于显示和编辑分层列出的信息的一种手段 <<...
    无邪8阅读 13,654评论 3 3
  • 概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 12,951评论 3 38
  • 版权声明:未经本人允许,禁止转载. 1. TableView初始化 1.UITableView有两种风格:UITa...
    萧雪痕阅读 7,900评论 2 10
  • 社会阅历浅的人,当冒犯发生时,会第一时间追随原始情绪进行反击,然后这样的反击多半没有深入思考,并缺乏策略,最终的结...
    天空的羁绊阅读 3,836评论 0 0
  • #pragma mark someValueAboutTableView 1.tableView的样式:UITab...
    潇岩阅读 4,558评论 0 0