27 votes

Comment puis-je faire glisser pour supprimer le travail lorsque la propriété allowMultipleSelectionDuringEditing de tableView est YES?

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?

58voto

Simon Whitaker Points 11881

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];
}
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X