headerView.setLayoutClosure {
self.sizeHeaderToFit()
}
commentzTableView.beginUpdates()
commentzTableView.tableHeaderView = headerView
commentzTableView.endUpdates()
这个代码段存在于viewDidload内,headerView.setLayoutClosure {
self.sizeHeaderToFit()
}这个closure是当headerView在进行layoutSubviews的时候判断如果高度发生了变化,则会被调用的 sizeHeaderToFit()这个函数其实就是在重新设置headerview的frame 并且进行设置
commentzTableView.beginUpdates()
commentzTableView.tableHeaderView = headerView
commentzTableView.endUpdates()当第一三两句不存在的时候,就会出现多个sectionheaderview的情况,加上之后不仅保证了界面的流畅,还保证了tableView的更新时间内不接收下一个更新的进入
UITableView的更新是有可能存在多线程冲突的
最新推荐文章于 2020-06-25 21:34:59 发布
本文介绍了一个使用Swift实现的TableView HeaderView动态调整高度的方法。通过在viewDidLoad中设置headerView的布局闭包,并结合TableView的beginUpdates和endUpdates方法,确保了Header View的高度能够根据内容自动调整,同时保持了界面的流畅性和更新过程的稳定性。
44

被折叠的 条评论
为什么被折叠?



