Я пытаюсь реализовать две ячейки: одну, которую можно удалить, проведя пальцем, и одну, которую нельзя удалить, но действия для проведения другой операции.
ЭтоВот как это выглядит сейчас:
Я не хочу, чтобы средняя ячейка была с отступом при нажатии Edit.Без какого-либо специального кода все ячейки показывали бы этот красный круг и получали кнопку удаления, но я добавил несколько строк кода, чтобы предотвратить это.
Этот код установит все ячейки без начального или конечного пролистываниядействие, чтобы не стать редактируемым, что объясняет нижнюю ячейку в GIF.Я должен включить ведущие действия смахивания к этому, потому что, если ячейка не editable
, то я вообще не могу смахнуть.
func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
let vm = sections[indexPath.section].viewModels[indexPath.row]
return vm.leadingSwipeActions != nil || vm.trailingSwipeActions != nil
}
Следующий код предотвратит показ средней ячейкикрасный кружок.
func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCell.EditingStyle {
return sections[indexPath.section].viewModels[indexPath.row].trailingSwipeActions == nil ? .none : .delete
}
Если я не передам .none
для ячейки с ведущими действиями, тогда будет показан красный кружок И , он даже покажет удаление по умолчанию-Проведите.Я не хочу, чтобы эта строка могла быть удалена!
Как я могу предотвратить отступ средней ячейки, сохраняя при этом возможность ее проводить?