Как заставить работать смахивание для удаления, когда свойство allowMultipleSelectionDuringEditing в tableView имеет значение YES? - PullRequest
27 голосов
/ 13 марта 2012

В iOS 5, если я устанавливаю allowsMultipleSelectionDuringEditing в YES для UITableView, то смахивание для удаления больше не работает. Встроенное приложение «Почта» поддерживает как удаление, так и множественный выбор в режиме редактирования, и я хотел бы сделать то же самое. Как мне этого добиться?

1 Ответ

60 голосов
/ 13 марта 2012

Хитрость заключается в том, чтобы установить allowsMultipleSelectionDuringEditing в YES при входе в режим редактирования и вернуть его в NO при выходе из режима редактирования.Таким образом, в режиме редактирования сработает как удаление, так и множественный выбор.

Если у вас есть подкласс UITableViewController (который у вас, вероятно, есть), то вы можете просто сделать это:

- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
    // Set allowsMultipleSelectionDuringEditing to YES only while
    // editing. This gives us the golden combination of swipe-to-delete
    // while out of edit mode and multiple selections while in it.
    self.tableView.allowsMultipleSelectionDuringEditing = editing;

    [super setEditing:editing animated:animated];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...