在TableView重新加载期间绘制线路的问题



我有一个tableview。我重新加载了一个部分。我的截止者有一条需要绘制的线路。该行的定位及其绘制方式是基于ContentView的框架

  1. 如果执行tableview.reloadData(),则可以正确绘制。TableView标题的框架是非零
  2. 如果我执行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(...)更新了各节中的单元格。

最新更新