UITableView的tableHeaderView高度自适应

实现:

  1. 使用masonry对header的宽度进行约束
  2. 调用header的layoutIfNeeded
  3. 通过调用header的systemLayoutSizeFittingSize方法获取header的高度
  4. 设置header的frame

注意:

需要先调用layoutIfNeeded并再次对header的frame进行设置
代码:

    self.tableView.tableHeaderView = self.tableHeaderView;
    [self.tableHeaderView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.width.equalTo(self.view);
    }];
    [self.tableHeaderView layoutIfNeeded];
    CGFloat height = [self.tableHeaderView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;
    CGRect frame = CGRectMake(0, 0, 0, height);
    self.tableHeaderView.frame = frame;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容