UITableView tableHeaderView 自适应高度

以前做自定义headerView适应高度都是用系统api算的高度,代码如下

let size = tableHeaderView.systemLayoutSizeFitting(UIView.layoutFittingCompressedSize)
        tableHeaderView.frame = CGRect(origin: CGPoint(x: 0, y: 0), size: size)
        listView.tableHeaderView = tableHeaderView

偶然发现还有更简单的方法, 只需要在设置tableHeaderView后设置自定义headerView的宽度的约束,就能够实现自适应高度了

listView.tableHeaderView = headerView

系统约束

headerView.translatesAutoresizingMaskIntoConstraints = false
        headerView.widthAnchor.constraint(equalTo: listView.widthAnchor).isActive = true

使用Snapkit

headerView.snp.makeConstraints { make in
            make.width.equalTo(listView)
        }

原文链接

你可能感兴趣的:(UITableView tableHeaderView 自适应高度)