Swift 第一次使用tableView.reloadRows是不同的

Swift 第一次使用tableView.reloadRows是不同的,swift,uitableview,animation,Swift,Uitableview,Animation,我的单元格存储一个项目,每次点击该项目的数量都会增加。要删除该数量,单元格可以向左平移,且数量为零 每当单元格中有金额为0的项目时,单元格左侧就会出现一条蓝线(aCAShapelayer) 要将金额设置回0,将调用一个函数: func deleteItem(_ index: IndexPath) { // Amount is set to 0 tableView.reloadRows(at: [index], with: .none) } 重新加载单元格时,蓝线将移出单元格。

我的单元格存储一个项目,每次点击该项目的数量都会增加。要删除该数量,单元格可以向左平移,且数量为零

每当单元格中有金额为0的项目时,单元格左侧就会出现一条蓝线(a
CAShapelayer

要将金额设置回
0
,将调用一个函数:

func deleteItem(_ index: IndexPath) {
    // Amount is set to 0

    tableView.reloadRows(at: [index], with: .none)
}
重新加载单元格时,蓝线将移出单元格。因为蓝线是一个
CAShapeLayer
,它的隐式动画将启动,并为蓝线走出单元格设置动画

隐式动画:

问题:
但是,第一次(加载视图后)调用此函数时,蓝线(
CAShapeLayer
)不会执行隐式动画

无动画:

如果我使用
tableView.reloadData()
我不会有这个问题,但是它会重新加载整个表,即使我平移其他单元格时,也会导致它重置,所以我不能使用
tableView.reloadData()

问题:
为什么只有在加载视图后第一次蓝线(`CAShapeLayer')的隐式动画不起作用?如何确保这种隐式动画始终有效