我已经实现了一个带有动态单元格大小和可扩展单元格的UITableview,并且在大多数情况下,这段代码可以很好地处理扩展/收缩:
public func tableView(_ tableView: UITableView,
didSelectRowAt indexPath: IndexPath)
{
dataArray[indexPath.row].isExpanded = !dataArray[indexPath.row].isExpanded
tableView.reloadRows(at: [indexPath], with: .automatic)
}
然而,当调用此方法的单元格甚至略微偏离顶部的屏幕时,当它被展开/收缩时,UITableview重新加载是跳跃的并且导致单元格进出屏幕。避免这种情况的最佳方法是什么?
答案 0 :(得分:1)
您正在做的不是制作动态扩展/收缩高度单元(也称为手风琴单元)的正确方法。正确的方法是致电self.tableView.performBatchUpdates(nil)
。