J'ai eu un problème que j'ai réussi à résoudre et je le partage car il peut aider quelqu'un.
J'ai un UITableView et j'ai ajouté les méthodes indiquées pour permettre de glisser pour supprimer :
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
// Return YES if you want the specified item to be editable.
return YES;
}
// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
//add code here for when you hit delete
}
}
Je travaille sur une mise à jour qui me permet de mettre le tableau en mode édition et d'activer la sélection multiple. Pour ce faire, j'ai ajouté le code de l'application Apple's TableMultiSelect échantillon. Une fois que j'ai réussi à le faire fonctionner, j'ai découvert que la fonction "glisser-déplacer" ne fonctionnait plus.
Il s'avère que l'ajout de la ligne suivante à viewDidLoad était le problème :
self.tableView.allowsMultipleSelectionDuringEditing = YES;
Avec cette ligne, la sélection multiple fonctionne mais pas le glissement pour supprimer. Sans cette ligne, c'était l'inverse.
La solution :
Ajoutez la méthode suivante à votre viewController :
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
self.tableView.allowsMultipleSelectionDuringEditing = editing;
[super setEditing:editing animated:animated];
}
Ensuite, dans votre méthode qui met la table en mode d'édition (à partir d'une pression sur un bouton par exemple), vous devriez utiliser :
[self setEditing:YES animated:YES];
au lieu de :
[self.tableView setEditing:YES animated:YES];
Cela signifie que la sélection multiple n'est activée que lorsque le tableau est en mode édition.
0 votes
Ver ma réponse à Swift 4 pour une question similaire qui montre jusqu'à 3 manières différentes de créer des actions de glissement pour supprimer pour
UITableViewCell
s.0 votes
J'ai posé cette question il y a 8 ans... Veuillez supprimer cette question, elle est largement dépassée. Swift n'existait même pas !
0 votes
Peut-on fixer la hauteur des boutons de balayage latéral ? Par exemple, ma cellule est de 150 et je veux que le bouton ne soit affiché qu'à 50.0f, est-ce possible ?
0 votes
Cela fonctionne très bien sur les rangs, mais avez-vous des indices sur la façon d'intégrer les sections ?