2010-02-25 6 views
0

en appuyant sur un bouton de suppression de ligne sur une vue de table, je fais une validation, et si l'utilisateur choisit d'annuler l'opération, tout devrait annuler. Non seulement vous voulez garder cette ligne (ce qui se passe), mais faites aussi disparaître le bouton de suppression en ne laissant que le bouton rond "-". Comment puis je faire ça?Essuyez un bouton de suppression de la cellule de vue de table

encore une fois, merci.

+0

Salut, Utilisez-vous la méthode reloadData de UITableView après l'annulation de l'uer? – ISDi

+0

Bonjour ISDi, J'utilise une feuille d'action à des fins de validation. La réponse suivante va comme un gant. Merci. – BigJoke

Répondre

0

En supposant que vous implémentez vos validations dans la méthode tableView: commitEditingStyle: forRowAtIndexPath: de votre objet de protocole UITableViewDatasource, vous devriez pouvoir définir editAccessoryType et editingAccessoryView sur la cellule.

//After validation fails.... 
UITableViewCell *aCell; 
aCell = [self tableView:tableView cellForRowAtIndexPath:indexPath]; 
// validations are done and you need to ignore the delete 
if (aCell.showingDeleteConfirmation){ 
    aCell.editingAccessoryView = nil; 
    aCell.editingAccessoryType = UITableViewCellAccessoryNone; 

} 

Si vous le souhaitez, vous pouvez envelopper les modifications dans un bloc d'animation pour animer la modification.

Vous pouvez également basculer l'état d'édition de la cellule.

//After validation fails.... 
UITableViewCell *aCell; 
aCell = [self tableView:tableView cellForRowAtIndexPath:indexPath]; 
if (aCell.showingDeleteConfirmation){ 
    aCell.editing = NO; 
    aCell.editingAccessoryView = nil; 
    aCell.editing = YES; 

} 
+0

Salut Chip, La deuxième solution est celle pour moi. Fonctionne parfaitement. L'utilisateur appuie sur le bouton Supprimer; une feuille d'action de validation apparaît; l'utilisateur choisit d'annuler l'action de suppression; la cellule passe à l'état initial. Je vous remercie. – BigJoke

Questions connexes