Чтобы включить переставляемые (перемещаемые) ячейки в моем 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: