用动画为UITableView插入行(并更新所有其他单元格)



在我的tableview中,单元格的背景颜色设置取决于它是奇数还是偶数

我想用动画.top插入新的单元格,使它们从tableview的顶部向下动画。

然而,当这样做时,它们与单元格的背景颜色不一致。我理解当使用tableView.insertRows时,它只调用cellForRow用于插入的行。让已经存在的单元格的背景颜色错误。

我试着打电话:tableView.beginUpdates()tableView.insertRows()tableView.endUpdates()

我真的不知道如何解决这个问题。

在插入前检查第一个单元格的状态,并根据该单元格安排背景

可以在所有可见的索引路径上使用use reloadRows(at:with:)。你可以通过调用indexPathsForVisibleRows来获得可见的索引路径。这将强制动画。

func reloadVisibleCells() {
    tableView.reloadRows(at: tableView.indexPathsForVisibleRows, with: .automatic)
} 

最新更新