2010-10-25 3 views
4

Je veux ajouter l'édition personnaliséeAccessoryView dans la cellule, lorsque l'utilisateur balaye à la place du bouton de suppression je veux montrer ma vue personnalisée.Comment ajouter Custom EditingAccessoryView pour UITableView?

+0

Pouvez-vous montrer le bouton indicateur cellule lorsque le tableauView est en mode édition montrant après avoir appuyé sur le bouton RED Delete? –

Répondre

-1

vue de la conception comme exemple ci-dessous xib

alt text

font maintenant IBOutlet de UIView dans le fichier .h

IBOutlet UIView *accessoryView; 

connecter à votre IBOutlet que la vue de conception.

maintenant dans le jeu de fichiers .m ce point de vue comme editingAccessoryView de la table cellule

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease]; 
     cell.editingAccessoryView = accessoryView; 

     } 

} 


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

    return NO; 

} 

maintenant lorsque vous faites glisser votre vue personnalisée affichera en place de bouton Supprimer

+2

Cela ne semble pas fonctionner dans ios 6. – EightyEight

+0

J'essaie également de le faire en ce moment, EightyEight, et trouver cette solution - que je pensais être à peu près juste - ne fonctionne pas sous iOS 6 (simulateur, sur XCode 5 beta). – Slowburner

+1

Cela ne fonctionne pas du tout. Tout d'abord, si vous renvoyez NO pour "canEditRowAtIndexPath", vous empêcherez l'affichage de la propriété editingAccessoryView. Le deuxième problème est que vous devez instancier une nouvelle instance de la vue accessoire pour chaque nouvelle cellule. Enfin, je ne pense pas que "dequeueReusableCellWithIdentifier" renvoie un résultat nul, ce qui signifie bien sûr que la propriété editAccessoryView ne sera jamais affectée. Avez-vous réellement testé ce code? Je ne le pense vraiment pas. –

2

Il ne semble pas y avoir de fonction pour cela. Tout ce que vous pouvez faire est de donner un texte personnalisé pour le bouton de confirmation Supprimer, en utilisant la fonction ci-dessous.

- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath 
+0

merci. mais je veux ajouter deux boutons à la place d'un bouton de suppression. Je ne veux pas changer le titre de ce bouton – priyanka

+0

C'est exactement ce que j'essayais de comprendre. Désolé, je ne vais pas voter parce qu'il n'a pas répondu à la question posée. Mais merci! – androidnotgenius

Questions connexes