web-dev-qa-db-fra.com

iOS - sélection multiple

J'ai 3 valeurs - A, B et C. Les valeurs peuvent être sélectionnées de la manière suivante:

  1. Sélectionnez A uniquement
  2. Sélectionnez A et B
  3. Sélectionnez A, B et C

Les valeurs utilisées pour A, B et C sont suffisamment grandes pour ne pas tenir à l'écran.

Chaque valeur utilisée pour A, B et C est suffisamment grande pour s'adapter à presque tout l'espace horizontal de l'écran.

Quel type d'UIView est préférable pour atteindre cet objectif? Je pensais à un interrupteur vertical mais je n'ai aucune idée de la façon de reconcevoir un UIView.

3
Ricardo

Vous pouvez utiliser une brève explication de vos choix et laisser beaucoup de place pour une explication à l'époque. Voir l'exemple.

enter image description here

Je pense que la réponse de Nathan est au bon endroit en supprimant l'idée de sélection "multiple", mais juste un type de bouton radio n'est pas approprié pour un mobile, surtout si vous n'avez pas assez de place horizontalement.

4
rr1g0

Restez simple: utilisez les boutons radio.

Les cases à cocher et vos règles régissant ce qui peut être sélectionné et quand seront déroutantes pour vos utilisateurs et vos programmeurs. Quelqu'un essaiera de sélectionner uniquement l'option B et vous devrez soit leur expliquer que ce n'est pas autorisé, soit définir des conditions pour autoriser uniquement B après A. (Mais que se passe-t-il s'il désélectionne A?)

Toute cette complication est inutile pour ce qui est essentiellement un choix entre 3 options. Les boutons radio devraient fonctionner correctement. Les utilisateurs bénéficieront également d'avoir les trois options énumérées pour eux au lieu d'avoir à parcourir ce qui est autorisé et ce qui ne l'est pas.

Exemple: Example picture with ice cream.

8
Nathan Rabe

Pas de case à cocher B jusqu'à ce qu'ils sélectionnent A
Pas de case à cocher C jusqu'à ce qu'ils sélectionnent A et B

6
paparazzo

Je pensais quelque part sur les lignes d'un un curseur vertical qui donne également une rétroaction lorsque vous faites glisser sa plage.

Range slider for value ARange slider for value A+BRange slider for value A+B+C

J'ai créé un jsFiddle démontrant cela.

3
Slartibartfast

Vous devez utiliser des cases à cocher si vous effectuez une sélection multiple. La sélection de la case à cocher donnée pour la valeur sélectionne l'option et un bouton fourni confirme toutes les sélections effectuées.

Il semble que vous accumuliez des options plutôt que de permettre une sélection multiple. Vous pouvez modifier le modèle de case à cocher pour permettre cela en effectuant les modifications suivantes:

  1. Puisque A doit toujours être sélectionné, ne fournissez que 2 options - B et C. Vous devez bien sûr en informer l'utilisateur d'une manière ou d'une autre. Alternativement, si vous souhaitez afficher les trois options dans la liste, vous pouvez avoir A sélectionné mais grisé afin que l'utilisateur ne puisse pas le désélectionner.

  2. Lorsque l'utilisateur sélectionne C, sélectionnez automatiquement B et faites-le griser afin que l'utilisateur ne puisse pas le désélectionner. Encore une fois, vous devez expliquer à l'utilisateur pourquoi les sélections automatiques se produisent.

  3. Lorsque l'utilisateur sélectionne B, vous n'avez pas à effectuer de travail supplémentaire car A est déjà sélectionné par défaut.

2
Andre Dickson

Voici une maquette basée sur la réponse de @ Papparazzi:

mockup

télécharger la source bmml - Wireframes créés avec Balsamiq Mockups

1
wintvelt