我有一个tableview。我重新加载了一个部分。我的截止者有一条需要绘制的线路。该行的定位及其绘制方式是基于ContentView的框架
- 如果执行
tableview.reloadData()
,则可以正确绘制。TableView标题的框架是非零 - 如果我执行
notesTable.reloadSections([1], with: .automatic)
,则 被正确绘制。TableView标题的框架为零!(我需要使用reloadSections
,因为我想为它进行动画。reloadData()
不提供任何动画(
所以我的viewForHeaderInSection
的一个非常淡淡的示例是:
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
// some code
sectionView.setupUI()
return sectionView
}
标头类:
class SectionHeaderclass: UITableViewHeaderFooterView{
func setupUI(){
let triangleViewArea = ViewWithTriangleLine(triangleCenter:Double(contentView.frame.width - 30))
}
}
👆 contentView.frame.width
如果我对部分重新加载进行动画,则返回0
。为什么?!我该如何解决?
如果要更新标头,并且它具有一些绘图视图,则更好地在Headerview上调用setNeedsDisplay()
,而不是重新加载TableView。请注意,reloadSections(...)
更新了各节中的单元格。