Я удаляю строку из UITableView
с помощью RowAnimation
.left
, что должно быть очень просто, написав следующее tableView.deleteRows(at: [indexPath], with: .left)
, но здесь возникает проблема: UITableView
не относится к rowAnimation
Я прохожу (left, right,top,bottom,fade)
, он показывает только обычную анимацию
Я пробовал разные решения, такие как
beginUpdates()
deleteRows(at: indexPath, with: .left)
endUpdates()
CATransaction.begin()
CATransaction.setCompletionBlock({
self.tableView.beginUpdates()
self.myViewModel?.items?.remove(at: indexPath.row)
self.tableView.deleteRows(at: [indexPath], with: UITableViewRowAnimation.top)
self.tableView.endUpdates()
})
self.tableView.setEditing(false, animated: true)
CATransaction.commit()
self.tableView.beginUpdates()
// ...
self.tableView.endUpdates()
self.tableView.layer.removeAllAnimations()
У меня также есть пытался использовать performBatchUpdates
, я уверен, что это своего рода ошибка, так как она работала в предыдущих версиях iOS, я использую iOS 13 & swift 5
Есть несколько других ответов, таких как Вопрос1 , но ни один из них не работает