iOS разрешает одновременное удаление UITableViewCell и перестановку ячеек одновременно - PullRequest
0 голосов
/ 01 марта 2019

Чтобы включить переставляемые (перемещаемые) ячейки в моем UITableView, я должен установить table.isEditing на true и реализовать следующие методы делегата:

func tableView(_ tableView: UITableView, canMoveRowAt indexPath: IndexPath) -> Bool

func tableView(_ tableView: UITableView, moveRowAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath)

Я также реализую следующий делегатСпособы скрыть пользовательский интерфейс редактирования таблиц по умолчанию:

func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCell.EditingStyle {
    return .none
}

func tableView(_ tableView: UITableView, shouldIndentWhileEditingRowAt indexPath: IndexPath) -> Bool {
    return false
}

Я бы также хотел удалить ячейки в этой таблице.Я пытался использовать как tableView(_:editActionsForRowAt:) подход, так и новую iOS 11 tableView(_:trailingSwipeActionsConfigurationForRowAt:), но ни одна не работает, пока table.isEditing = true.Единственный другой соответствующий метод делегата таблицы, который я использую:

func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool

, который возвращает true для всех ячеек.

Есть ли способ включить обе эти функции UITableView одновременно?Это выглядит возможным, поскольку именно так работает очередь таблиц в приложении Apple Music:

enter image description here

...