在headerview采用的是autolayout布局的方式下,怎么去動(dòng)態(tài)設(shè)置headerview的高度原茅?
可使用如下方法:
- 設(shè)置好headerview的內(nèi)容組件的約束條件
- 計(jì)算,重新設(shè)置frame
let height = headerView.systemLayoutSizeFitting(UILayoutFittingCompressedSize).height
var frame = headerView.frame
frame.size.height = height
headerView.frame = frame
systemLayoutSizeFittingSize 丁稀,它是UIView的方法辆脸,使用它的前提是需要展示內(nèi)容的控件必須約束完美,接受一個(gè)CGSize蕾管,目前使用系統(tǒng)提供的Fitting Size即可
const CGSize UILayoutFittingCompressedSize;//在保證適當(dāng)尺寸的前提下盡量壓縮CGSize的大小
const CGSize UILayoutFittingExpandedSize;//在保證適當(dāng)尺寸的前提下盡量擴(kuò)充CGSize的大小