UITableView tableHeaderView 高度计算

在headerview采用的是autolayout布局的方式下,怎么去动态设置headerview的高度?

可使用如下方法:

  1. 设置好headerview的内容组件的约束条件
  2. 计算,重新设置frame
let height = headerView.systemLayoutSizeFitting(UILayoutFittingCompressedSize).height
var frame = headerView.frame
frame.size.height = height
headerView.frame = frame

systemLayoutSizeFittingSize ,它是UIView的方法,使用它的前提是需要展示内容的控件必须约束完美,接受一个CGSize,目前使用系统提供的Fitting Size即可

const CGSize UILayoutFittingCompressedSize;//在保证适当尺寸的前提下尽量压缩CGSize的大小
const CGSize UILayoutFittingExpandedSize;//在保证适当尺寸的前提下尽量扩充CGSize的大小

你可能感兴趣的:(UITableView tableHeaderView 高度计算)