10
votes

Glisser à supprimer ne pas fonctionner

Le balayage pour supprimer la fonctionnalité ne fonctionne pas dans ma vue table. J'ai mis en œuvre le délégué de la Commission et le bouton d'édition dans la barre de navigation. Par conséquent, lorsque l'utilisateur clique sur le bouton Modifier, les boutons Supprimer et Ajouter apparaissent de manière appropriée. Cependant, sur glisser, le bouton Supprimer n'apparaît pas et il semble que cela ne reconnaisse pas le balayage comme appel à la méthode de la fixation.

J'ai ensuite implémenté WillBeginetitingRowatidExpath et DiDentreditingRwoatDexPath Délégués comme suit: xxx

Cependant, cela n'a aucun effet non plus. Qu'est-ce qui pourrait être le problème possible? J'ai activé Multi-Touch pour la vue Table de la table dans l'IB et chaque cellule dispose d'un accessoire de détailDiscloseButton.


0 commentaires

7 Réponses :


7
votes

Pour la fonctionnalité Swipe-to-Supprimer, vous devez implémenter

 -(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete)
        ; // Delete.
}


4 commentaires

Oui j'ai mis en œuvre cela. Je l'ai mentionné ci-dessus. Je n'ai pas accès à un appareil en ce moment et je passe donc sur le simulateur. Pourrait-il être un problème avec le simulateur?


Donc tu as fait. Désolé. Vérifiez ma réponse modifiée au cas où. Le simulateur n'est pas 1-1 dans un comportement tactile, surtout la vitesse.


Essayé cela sur le simulateur. Ne fonctionne pas. Également installé l'application sur une iPod Touch en cours d'exécution 3.1.2. Swipe à supprimer ne fonctionne pas dans cela aussi. Très perplexe. Je me demande si je manque de la mise en œuvre de certains délégués?


Heres la chose. J'ai démarré un nouveau projet et avec une entreprise utablevoller implémentant uniquement le délégué de la Commission et le balayage pour supprimer la fonctionnalité fonctionnait parfaitement. Besoin de voir ce qui est dans mon code qui gêne cela de travailler dans mon autre projet.



0
votes

Avez-vous mis en œuvre le TABLEVIEW: EDITITSTYLEFORATRODITIONEXPATH: ET DIT IT RETOURNER UITABLEVIEWSTELLETELETE


2 commentaires

Oui je l'ai fait. Mais il y avait quelque chose de plus dans celui qui a causé cette question.


Heureux d'avoir pu vous chercher à regarder le bon morceau de code .. Déboguer des problèmes comme celui-ci sont généralement difficiles



4
votes

Je faisais ce qui suit dans la tableView: EditingstyleFornorTindexpath: Méthode de déléguée: -

if (self.editing == NO || !indexPath)
{   
    return UITableViewCellEditingStyleNone;
}


0 commentaires

6
votes

Vous devrez mettre en œuvre:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath;


- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath;

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath;


1 commentaires

J'ai donné ces 3 méthodes de déléguée mais ne fonctionnent pas.



1
votes

La clé pour le faire fonctionner est de mettre en œuvre: xxx

et n'oubliez pas de le mettre à l'intérieur " utableviewatasource " au lieu de " utableviewelegate "


0 commentaires

-2
votes

- (void) TableView: (UitailView *) TableViewstyle de type: (UitailViewCelleditStyle) EditingStyle ForrowaDExpath: (NsindexPath *) IndustryPath Méthode de déléguée doit également mettre en œuvre une fonctionnalité de balayage de travail.


0 commentaires

5
votes

Si tous les autres conseils n'aident pas à vérifier si vous avez un reconnaissance de gestes panoramique dans votre code. Cela ne fonctionnera pas si vous avez des choses comme celle-ci dans une vue sous-calée.


2 commentaires

Avait le même problème, mais c'était avec Uitapavèce


Tu es un génie! J'ai eu un problème avec difficile à faire glisser le curseur pendant quelques mois et maintenant avec une tableViewCell, et la question était un reconnaissance de gestes dans un cadre que j'utilisais.