iPhone удалить сообщения, такие как интерфейс
Я хочу удалить строки в UITableView, мне нужно предоставить кнопку удаления не смахиванием, а способом, аналогичным функциональности удаления сообщений в iPhone. При нажатии на правку слева в ячейке появляется маленький красный кружок, который вращается при нажатии и отображается кнопка удаления. Как это реализовать?
Как на картинке ниже:
2 ответа
Смотрите документацию Apple здесь, чтобы узнать, как этого добиться. Особенно:
Когда отправил
setEditing:animated
: сообщение (с первым параметромYES
), табличное представление входит в режим редактирования, где оно показывает элементы управления для редактирования или переупорядочения каждой видимой строки, в зависимости отeditingStyle
каждого связанногоUITableViewCell
, При нажатии на элемент управления вставкой или удалением источник данных получаетtableView:commitEditingStyle:forRowAtIndexPath
: сообщение. Вы фиксируете удаление или вставку, вызываяdeleteRowsAtIndexPaths:withRowAnimation
: или жеinsertRowsAtIndexPaths:withRowAnimation
: при необходимости.
Напиши это self.navigationItem.leftBarButtonItem = self.editButtonItem;
в viewDidLoad
метод. После этого реализовать этот метод - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
[yourArray removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES];
}
}