Мне любопытно, можно ли перехватить методы по умолчанию режима «Редактировать» в UITableView. Как правило, вы получаете бесплатную кнопку «удалить», если вы проведите по экрану UITableViewCell, у которого есть связанные с ним методы делегирования. Я хотел бы изменить удаление на какой-то другой произвольный селектор. Вместо того, чтобы удалять ячейку, я просто хотел бы запустить приветственный диалог с миром. Есть что-то по возможности?UITableView, перехват режима редактирования
ответ
В UITableViewCell есть свойство, называемое editAction
, которое документировано как позволяющее вам изменить действие, используемое для вставки или удаления на отдельные ячейки (оно также использует свойство ячейки target
). Я не тестировал его, но похоже, что он может делать то, что вы хотите.
Я бы выполнил подкласс UITableViewCell и обработал события касания там. Вам, скорее всего, придется самому заниматься анимацией, но я думаю, что это, наверное, самое простое решение. Существует не «поддерживаемый» метод для изменения кнопки удаления, я не думаю, что
Редактирование реализовано как метод объекта-объекта UITableView. В контроллере таблицы, есть то, что управление активирует редактирования вызова этого:
[tableView setEditing: YES animated: YES];
Затем убедитесь, что ваш объект делегат реализует это:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle: @"Delete"
message: @"Do you really want to delete “George W. Bush”?"
delegate: self
cancelButtonTitle: @"Cancel"
otherButtonTitles: @"Of course!", nil];
}
}
... или более стандартное действие может быть:
[itemList removeObjectAtIndex:indexPath.row];
[table deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES];
Проблема заключается в том, что делать, когда пользователь нажимает «отменить». Единственное, что я сделал, это выглядит наполовину - `reloadRowsAtIndexPaths`, чтобы избавиться от кнопки удаления. – 2010-07-28 02:41:02
@JFMartin и Marco - для замены стандартной кнопки «Удалить» используйте следующий метод делегата UITableview
- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
- 1. iOS7 UItableview Переключение содержимого режима редактирования
- 2. Выход из режима редактирования
- 3. Перехват прокрутки UITableView
- 4. Предотвращение поведения по умолчанию UITableView во время режима редактирования
- 5. Сделать «редактирование» кнопки триггерного режима редактирования в UITableView
- 6. ИОС UITableViewController режима редактирования
- 7. Пользовательские настройки режима редактирования UITableViewCell
- 8. UITableView выбранные строки после редактирования
- 9. uitableview режим редактирования
- 10. Режим редактирования в UITableView
- 11. jsTree: переход из режима редактирования?
- 12. GridView режима редактирования без ObjectDataSource
- 13. Перехват нокаутом не работает после встроенного редактирования
- 14. Fade Image Вход в режим редактирования UITableView?
- 15. UITableView как контакты Режим редактирования приложений
- 16. Перехват крана на управлении удалением в UITableView
- 17. В режиме редактирования UITableView, UITableView: didSelectRowAtIndexPath: не отвечает
- 18. Кнопка редактирования и удаления UITableView
- 19. UITableView: переименовать кнопку редактирования (UIBarButtonSystemItemEdit)
- 20. Изменить стиль редактирования для UITableView
- 21. Удалить кнопку редактирования из UITableView?
- 22. Режим редактирования UITableView не работает
- 23. Обновить UITableView в режиме редактирования
- 24. Настройка редактирования UITableView в Swift
- 25. Режим редактирования UITableView по умолчанию
- 26. Невозможно удалить кнопки в режиме редактирования UITableView
- 27. Включение режима редактирования только одной строки в виде таблицы
- 28. Проблема ввода режима редактирования в FormView
- 29. пользовательских UITableViewCell не выйдут из режима редактирования
- 30. Как исключить datagridviewtextboxcolumn из режима редактирования?
Эта функция устарела с iOS 3.0. – 2011-10-08 16:40:26