41 votes

Est-il possible de configurer un UITableView pour permettre la sélection multiple?

Pour l'iPhone, il est possible de configurer un UITableView tel qu'il permette à sélection multiple?

J'ai essayé primordial -setSelected:animated: pour chaque UITableViewCell, mais en essayant de fudge le comportement requis est délicat car il est difficile de séparer le vrai unselections de ceux où la UITableView pense que je l'ai désactivée en raison de la sélection d'une autre cellule!

J'espère que quelqu'un pourra vous aider!

Merci,

Nick.

39voto

Hamdi Points 514

Propriété suivante devrait fonctionner correctement si vous êtes en développement d'application pour iOS5.0+

self.tableView.allowsMultipleSelection = YES;

37voto

z8000 Points 2147

La meilleure façon de le faire serait d'une coche par la ligne sélectionnée.

Vous pouvez le faire en définissant la accessoryType sur le UITableViewCell instances de UITableViewCelAccessoryCheckmark.

Pour désélectionner la ligne, revenez à UITableViewCellAccessoryNone.

Pour énumérer les cellules/lignes ont été sélectionnés (par exemple, en cliquant sur un bouton), il suffit d'itérer sur les cellules de la table à la recherche pour UITableViewCellAccessoryCheckmark. Ou, de gérer certains NSSet ou dans votre vue de la table délégué dans le "select" délégué méthodes.

25voto

Benjamin Ortuzar Points 3585

Utilisez le code suivant pour définir la cellule d'accessoire types:

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    UITableViewCell *thisCell = [tableView cellForRowAtIndexPath:indexPath];


    if (thisCell.accessoryType == UITableViewCellAccessoryNone) {
        thisCell.accessoryType = UITableViewCellAccessoryCheckmark;

    }else{
    	thisCell.accessoryType = UITableViewCellAccessoryNone;

    }
}

- (UITableViewCellAccessoryType)tableView:(UITableView *)tableView accessoryTypeForRowWithIndexPath:(NSIndexPath *)indexPath {

//add your own code to set the cell accesory type.
return UITableViewCellAccessoryNone;
}

24voto

oldbeamer Points 926

Jeff Lamarche a un tutoriel sur comment faire ici:

http://iphonedevelopment.blogspot.com/2008/10/table-view-multi-row-edit-mode.html

Je n'ai pas essayé le code mais il a été sur le dos de mon esprit pendant un certain temps, sachant que le jour viendra quand j'en ai besoin.

11voto

RolandasR Points 2131

J'ai reporté allowsMultipleSelectionDuringEditing et allowsMultipleSelection de iOS5 pour les plus âgés iOS. Vous pouvez fourche à https://github.com/ud7/UDTableView-allowsMultipleSelection

C'est tomber dans le remplacement et la seule chose que vous devez faire est de changer UITableView à UDTableView (dans le code ou dans interface builder)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X