2010-12-13 4 views
0

Lorsque plusieurs sélections sont activées pour une table et que certaines cellules sont sélectionnées, la cellule sélectionnée est cochée à gauche. (voir photo) Ne confondez pas avec la coche de droite.iphone - table avec plusieurs sélections

J'ai cela en place

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

    return UITableViewCellAccessoryCheckmark; 
} 

Tout va bien. Quand j'appuie sur une cellule, une coche rouge apparaît sur le côté gauche.

À un moment donné, je dois parcourir la table pour découvrir quelles cellules ont cette coche gauche.

Pour autant que j'ai testé ce n'est pas un accessoireType ou un style d'édition. Au moins dans mes tests, aucune cellule n'a pu être détectée comme test sélectionné pour ces propriétés.

grâce

alt text

+0

La sélection multiple est-elle dans l'API? Je pensais que ce n'était possible que grâce au sous-classement –

+0

car je n'avais jamais utilisé cette fonctionnalité auparavant, je ne sais pas comment c'était alors, mais je le vois sur les docs pour 4.x ... – SpaceDog

+0

Pouvez-vous donner un lien dans les docs? où il est dit que vous pouvez utiliser UITableViewCellAccessoryCheckmark pour UITableViewCellEditingStyle? – Anna

Répondre

4

J'ai appris que ce n'est pas une bonne idée de compter sur des sélections de cellules. Quand une cellule sort de la vue, le UITableView l'oublie habituellement. Ce que j'ai fait était de créer un NSMutableArray plein de BOOL s et chaque fois qu'une cellule est sélectionnée ou désélectionnée, je change la valeur à l'index de droite. Quand j'ai besoin des cellules sélectionnées, je peux simplement utiliser mon tableau.

+0

Merci. Vous avez raison et le pire, c'est qu'il semble qu'il n'y ait aucun moyen de vérifier cela. Construire un tableau a fait l'affaire. – SpaceDog

Questions connexes