Один временный способ добиться успеха в операции выбора - использовать таймер для вызова selectRow()
после завершения анимации удаления:
override func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
let deleteAction = UIContextualAction(style: .destructive, title: "Delete") { _, _, callback in
Timer.scheduledTimer(withTimeInterval: 0.5, repeats: false) { _ in
tableView.selectRow(at: IndexPath(item: 0, section: 0), animated: true, scrollPosition: .none)
}
callback(true)
}
return UISwipeActionsConfiguration(actions: [deleteAction])
}
Это, очевидно, далеко от чистого решения,поскольку это зависит от того, сколько времени анимация не изменится в будущих выпусках iOS, и требует написания дополнительного кода, чтобы убедиться, что операция выбора все еще актуальна спустя 0,5 секунды, когда срабатывает таймер (что я не делал в этом примере).