web-dev-qa-db-fra.com

Bouton Retour ou Annuler / Enregistrer lorsque le serveur d'appel est nécessaire

Ici, nous avons un écran de paramètres qui apparaît à partir d'une vue coulissante. Vous appuyez sur "Messagerie" et le modal suivant apparaît:

Afin d'éviter la complexité de la synchronisation des paramètres chaque fois qu'une bascule est commutée, j'ai choisi de ne sauvegarder ces paramètres qu'en quittant le Messaging Settings écran.

Je pense à deux options pour économiser ici:

  • Un bouton back ou close qui, une fois appuyé, affichera "Enregistrement ...", puis supprimera le modal. Mon problème avec cela est qu'en tant qu'utilisateur, je ne m'attendrais pas à ce qu'une transition retour/fermeture soit interrompue par un spinner.
  • Un bouton gauche cancel qui annulerait les modifications et ferait disparaître le modal + un bouton droit save qui montrerait "Enregistrement ...", puis ferait disparaître le modal. C'est un bouton de plus auquel l'utilisateur doit penser.

Que pensez-vous des deux options? Existe-t-il une meilleure pratique concernant l'enregistrement des formulaires qui ne contiennent que des bascules, lorsqu'ils sont contraints d'enregistrer au premier plan? Idéalement, aucun spinner ne serait jamais affiché et tout serait synchronisé en arrière-plan, mais pour des raisons de simplicité technique, je choisis de faire patienter la fin de la synchronisation.

4
ldiqual

Si je bascule un commutateur, j'attends une réponse immédiate de sa part. Je vois des raisons pour lesquelles vous ne voulez pas faire beaucoup de demandes de serveur, mais si vous appelez le serveur en appuyant sur un seul bouton, au moins une demande pourrait échouer et je ne sais pas comment vous présenteriez cela à l'utilisateur d'une manière appropriée. Souhaitez-vous qu'il bascule à nouveau sur chaque commutateur? Un commutateur peut visuellement prendre un certain temps pour basculer dans n'importe quelle application ou paramètre sur iOS (ou fondamentalement tous les systèmes d'exploitation qui ont ces composants) pour indiquer qu'une demande est faite - Et s'il échoue, il retombe et pourrait vous donner un alerte/message expliquant pourquoi il n'a pas pu s'allumer.

C'est pourquoi je recommande personnellement de les gérer un par un au lieu de faire de nombreuses demandes à la fois en appuyant sur un bouton (n'importe lequel: retour, fermeture, annulation).

1
Chriskowalskowski

S'il y a un bouton Done dans le coin supérieur droit et que l'en-tête est collant (toujours visible), cela suffit pour indiquer/indiquer à l'utilisateur que les modifications seront enregistrées uniquement en cliquant sur Done bouton.

De plus, si l'utilisateur utilise le bouton back du téléphone, vous pouvez afficher une boîte modale pour vérifier si l'utilisateur souhaite enregistrer ses modifications ou non (juste pour être sûr). Si cette case de modèle semble être trop lourde (si la tâche/les changements effectués sont trop insignifiants pour justifier une demande), alors affichez une case à cocher suggérant Don't show this message again afin que si l'utilisateur ne veut plus se soucier, il/elle ait le choix de le faire.

0
gurvinder372