UITableView: я могу удалить несколько строк? - PullRequest
0 голосов
/ 01 июня 2010

Я хочу удалить несколько строк из табличного представления, основываясь на выборе пользователя.Очевидно, я не могу использовать метод didSelectRowAtIndexPath, потому что он будет вызываться для каждой выбранной строки.Я хочу позволить пользователю выбрать несколько строк для удаления, а затем удалить их за один раз.Является ли это возможным?

Если да, то как это сделать?Кроме того, я использую проект на основе одного представления и хочу, чтобы заголовок табличного представления был изменен на «Удалить» в том же представлении, когда пользователь хочет удалить строки из представления.

Ответы [ 2 ]

1 голос
/ 01 июня 2010

Вы можете сделать что-то таким образом:

- (void)tableView:(UITableView *)theTableView
      didSelectRowAtIndexPath:(NSIndexPath *)newIndexPath {

[theTableView deselectRowAtIndexPath:[theTableView indexPathForSelectedRow] animated:NO];
UITableViewCell *cell = [theTableView cellForRowAtIndexPath:newIndexPath];
if (cell.accessoryType == UITableViewCellAccessoryNone) {
    cell.accessoryType = UITableViewCellAccessoryCheckmark;
    [selectedCellsMutableArray addObject:newIndexPath];
} else if (cell.accessoryType == UITableViewCellAccessoryCheckmark) {
    cell.accessoryType = UITableViewCellAccessoryNone;
    [selectedCellsMutableArray removeObjectIdenticalTo:newIndexPath];
}

}

Когда пользователь нажимает кнопку Удалить выбранное - просто вызовите что-то вроде

// change your model here and then:
[yourView deleteRowsAtIndexPaths:selectedCellsMutableArray
                withRowAnimation:UITableViewRowAnimationRight];
0 голосов
/ 17 июля 2012

Поздний ответ, но другой способ справиться с этим (если вы ориентируетесь на iOS 5) - переключить режим редактирования и использовать встроенный выбор из нескольких ячеек. Самый простой способ сделать это - поместить это в viewDidLoad ...

// add edit button to navigation bar, which auto toggles editing mode
self.navigationItem.rightBarButtonItem = self.editButtonItem;
// allows user to select multiple cells while in editing mode
self.tableView.allowsMultipleSelectionDuringEditing = YES;

Подробнее см. Документацию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...