Comment détecter le mode d'édition sur iPhone UITableView
Pour mon iPhone, j'ai un modifiable (pour supprimer) la vue de la table. Je voudrais être en mesure de détecter que l'utilisateur a cliqué sur le bouton "Modifier". Voir cette image: http://grab.by/It0
De la documentation, il a regardé comme si j'avais mis en place :
- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath
puis j'ai pu le détecter (bien que le nom de la méthode, je ne pense pas que ça). Cela s'est avéré ne pas travailler.
Toutes les idées sur la détection de cette? La raison pour laquelle je veux, je veux raccorder un bouton "Supprimer tout" dans le coin supérieur gauche dans le mode de suppression.
grâce
OriginalL'auteur phil swenson | 2009-11-21
Vous devez vous connecter pour publier un commentaire.
Il n'est probablement pas de travail comme vous le souhaitez parce que
willBeginEditingRowAtIndexPath:
est appelé avant le montage commence.Si vous voulez vérifier alors que dans une autre méthode, vous devez le
editing
propriété:Si vous voulez faire quelque chose lorsque le bouton "Modifier" est pressé vous avez besoin pour mettre en œuvre les setEditing méthode:
Que vous trouverez dans
UIViewController
. (Eh bien, c'est l'endroit le plus propice; il en existe d'autres.)OriginalL'auteur Stephen Darlington
Lorsque le sous-classement d'un tableviewcontroller (ce que la plupart des gens vont faire la plupart du temps puisque vous avez à remplacer le délégué de méthodes que nous venons de mettre des données...), vous pouvez simplement remplacer le setEditing:animation: la méthode pour attraper l'édition de changements d'état.
Qui passe par le changement d'état le long de la super-classe, mais vous permet de sauter au milieu et à détecter le changement, ou la modifier si vous le vouliez...
OriginalL'auteur ima747
La setEditing:animation: exemples ne fonctionne pas pour moi (sur iOS 6.1) pour détecter les changements d'état se produisent lorsque vous entrez et sortez de confirmation de suppression de mode. Il semble que setEditing:animation: n'est appelée qu'une fois, lors de l'affichage de la table passe en mode d'édition, mais pas sur les modifications de l'état des cellules. Après quelques débogueur de plaisir, je suis arrivé à une méthode de détection de l'état de la cellule de changement.
Mon cas d'utilisation est différente de la vôtre. Je voulais juste masquer l'étiquette lorsque le bouton supprimer est en montrant de sorte que l'autre le contenu d'une cellule ne se chevauchent pas lorsque le bouton Supprimer des diapositives. (Je suis en utilisant UITableViewCellStyleValue2, l'un avec l'étiquette bleue sur la gauche et black label sur la droite.)
(Dans votre UITableViewCell sous-classe)
OriginalL'auteur Alex Nauda
De Kendall réponse œuvres. Je l'ai fait dans la suite.
OriginalL'auteur Saturn
Cette méthode vous indique lorsqu'un utilisateur est l'édition d'une Cellule, de ne pas mettre la table en mode d'édition. Il existe une méthode appelée lors de la modification de l'entrée dans le mode, à demander à chaque cellule si elle peut être éditée:
Je ne pense pas primordial
setEditing:animated:
a du sens, puisque vous avez à la sous-classeUITableView
qui est du travail supplémentaire et une classe dont vous avez besoin pour aucune autre raison, sans oublier qu'il aurait à communiquer sur le fait que la modification avait été tourné sur le dos de la manette.Une autre option est de simplement ajouter le bouton Modifier vous-même - c'est un construit dans
UIBarButtonSystemItem
, vous pouvez l'ajouter et faire appel à votre propre méthode dans laquelle vous faites quelque chose de précis alors appelsetEditing:animated:
sur leUITableView
lui-même.L'idée derrière est l'édition qu'en cas de modification est activé, chaque cellule est dit d'aller en mode d'édition, et comme l'a demandé s'il y a des spécifique de édition de contrôles qui doivent être appliquées. Donc, en théorie, il n'y a pas besoin de détecter l'entrée dans le mode d'édition au-delà de la modification de l'aspect des cellules. Ce que vous essayez de le faire lorsque le mode d'édition est entré?
OriginalL'auteur Kendall Helmstetter Gelner