Swift 第一次使用tableView.reloadRows是不同的
我的单元格存储一个项目,每次点击该项目的数量都会增加。要删除该数量,单元格可以向左平移,且数量为零 每当单元格中有金额为0的项目时,单元格左侧就会出现一条蓝线(aSwift 第一次使用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) } 重新加载单元格时,蓝线将移出单元格。
CAShapelayer
)
要将金额设置回0
,将调用一个函数:
func deleteItem(_ index: IndexPath) {
// Amount is set to 0
tableView.reloadRows(at: [index], with: .none)
}
重新加载单元格时,蓝线将移出单元格。因为蓝线是一个CAShapeLayer
,它的隐式动画将启动,并为蓝线走出单元格设置动画
隐式动画:问题:
但是,第一次(加载视图后)调用此函数时,蓝线(
CAShapeLayer
)不会执行隐式动画
无动画:如果我使用
tableView.reloadData()
我不会有这个问题,但是它会重新加载整个表,即使我平移其他单元格时,也会导致它重置,所以我不能使用tableView.reloadData()
问题:为什么只有在加载视图后第一次蓝线(`CAShapeLayer')的隐式动画不起作用?如何确保这种隐式动画始终有效