Ошибка анимации UITableView deleteRows (она всегда исчезает независимо от переменной rowAnimation) - PullRequest
2 голосов
/ 27 января 2020

Я удаляю строку из 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 , но ни один из них не работает

...