Dans iOS 5, si je mets allowsMultipleSelectionDuringEditing
sur OUI sur UITableView, le balayage pour supprimer ne fonctionne plus. L'application de messagerie intégrée prend en charge les sélections par glisser-déplacer et les sélections multiples en mode édition, et j'aimerais faire de même. Comment puis-je y parvenir?
Réponse
Trop de publicités? L'astuce consiste à régler allowsMultipleSelectionDuringEditing
sur OUI en entrant dans le mode d'édition et à le remettre sur NON à la sortie du mode d'édition. De cette façon, à la fois glisser pour supprimer et les sélections multiples en mode édition fonctionnent.
Si vous avez sous-classé UITableViewController
(ce que vous avez probablement), vous pouvez simplement faire ceci:
- (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];
}