Когда мой tableView переходит в режим редактирования, с каждой стороны моей ячейки появляется значок: значок справа является значком по умолчанию для изменения порядка ячеек, а значок слева - значком по умолчанию для удаления ячейки,Я могу легко взаимодействовать с иконкой перестановки без проблем, однако нажатие на иконку удаления не дает ответа.Это работает только тогда, когда я делаю неуклюжее движение вправо, а затем влево.Ниже я поместил, как мне кажется, весь соответствующий код в мою ситуацию.
Некоторая справочная информация: у меня есть три жеста касания в представлении (одно касание, двойное касание и долгое нажатие).Я пытался отключить их с условиями, когда режим редактирования включен.Я даже пытался удалить сенсорные жесты заранее, но это не помогло.Я подумал, что это может быть проблема с автоматической разметкой, которая не регистрирует область для кнопки удаления, но кнопка переупорядочения работает, не так ли?И ведущие и конечные константы моей ячейки +10 к виду.Кроме того, isEditing контролируется UIButton.Наконец, у меня есть делегат tableView, установленный на себя, и сенсорное взаимодействие, когда редактирование включено.
Любая помощь будет оценена.Спасибо!
override func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
if isEditing { return true }
return false
}
override func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCell.EditingStyle {
if isEditing { return .delete }
return .none
}
override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
if (editingStyle == .delete) {
countBeforeDeletingCell = dataSource.data.count
dataSource.data.remove(at: indexPath.row)
tableView.deleteRows(at: [indexPath], with: .none)
}
}
override func tableView(_ tableView: UITableView, moveRowAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath) {
let movedObject = dataSource.data[sourceIndexPath.row]
dataSource.data.remove(at: sourceIndexPath.row)
dataSource.data.insert(movedObject, at: destinationIndexPath.row)
tableView.reloadData()
}