1.隐藏尾部或者头部,配套使用
//注册头部id
tv.register(JYWithdrawalRecordSectionView.self, forHeaderFooterViewReuseIdentifier: sectionHeaderID) //设置高度;注意此处写死的。 如果用VFL 或者自适应,没效果的
tv.sectionHeaderHeight = 60//但是这里不好获取
//用下面方法
tv.sectionHeaderHeight = JYWithdrawalRecordSectionView().getLayoutSize().width
//隐藏尾部 这两行缺一不可, 不然显示默认的20高度的尾部view,隐藏头部同理
tv.tableFooterView = nil tv.sectionFooterHeight = 0.0001
2.显示自定义头部
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headerV = tableView.dequeueReusableHeaderFooterView(withIdentifier: sectionHeaderID) as! JYWithdrawalRecordSectionView
headerV.updataData(data: dataArr[section])
headerV.clickSection = { [weak self] in
self?.handleSectionClick(section: section)
} return headerV
}
3.
extension UIView{
/// 获得一个VFL 或者 layout的控件的size
func getLayoutSize() -> CGSize{
self.setNeedsLayout()
// 立马布局子视图
self.layoutIfNeeded()
return self.systemLayoutSizeFitting(UIView.layoutFittingCompressedSize)
}
}