奇怪的UITableview重新加载动画行为

时间:2018-04-20 17:17:13

标签: swift uitableview

我已经实现了一个带有动态单元格大小和可扩展单元格的UITableview,并且在大多数情况下,这段代码可以很好地处理扩展/收缩:

  public func tableView(_ tableView: UITableView,
                        didSelectRowAt indexPath: IndexPath)
  {
    dataArray[indexPath.row].isExpanded = !dataArray[indexPath.row].isExpanded
    tableView.reloadRows(at: [indexPath], with: .automatic)
  }

然而,当调用此方法的单元格甚至略微偏离顶部的屏幕时,当它被展开/收缩时,UITableview重新加载是跳跃的并且导致单元格进出屏幕。避免这种情况的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

您正在做的不是制作动态扩展/收缩高度单元(也称为手风琴单元)的正确方法。正确的方法是致电self.tableView.performBatchUpdates(nil)