在headerview采用的是autolayout布局的方式下,怎么去动态设置headerview的高度?
可使用如下方法:
- 设置好headerview的内容组件的约束条件
- 计算,重新设置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的大小