Input-mask-ios: Symboles fixes dans le masque

Créé le 20 févr. 2017  ·  3Commentaires  ·  Source: RedMadRobot/input-mask-ios

Ce sera formidable d'avoir la possibilité d'utiliser des symboles fixes.

Par exemple j'ai besoin du masque pour le numéro de téléphone : +7 (111) 111-11-11
Donc, selon la documentation, je peux créer un masque pour ce cas : +7([000])[000]-[00]-[00]
Et c'est bien. Mais j'ai besoin que l'utilisateur ne puisse pas effacer les deux premiers symboles (+7). Ainsi, à chaque fois, "+7" doit toujours être visible dans le champ de texte.

enhancement question rejected

Commentaire le plus utile

@TikhonovAlexander salut . @razalur pourrait aussi être intéressé.

Merci de m'avoir rappelé cette demande de fonctionnalité. En fait, nous avons eu une brève conversation avec deux évangélistes d'Apple sur le fait d'avoir un texte non modifiable dans le champ de texte.

TL; DR : Nous n'allons pas prendre en charge cette fonctionnalité.

Cela ne viole pas directement HIG, bien que ce soit une mauvaise idée de restreindre le contrôle de l'utilisateur sur l'application et de prendre en charge la prise de décision. Les champs de texte natifs ne se comportent pas comme ça, et iOS SDK a déjà un composant pour un texte statique - un UILabel .

Vous ne pouvez pas désactiver ou griser un bouton Retour arrière du clavier natif, et les symboles non effaçables apporteront de la confusion, car l'utilisateur final ne sera pas en mesure de déterminer s'il s'agit d'un comportement conçu ou d'un bogue. « Pourquoi exactement mon bouton Retour arrière ne fonctionne pas ? » - et vous ne pouvez pas donner un indice clair.

Du point de vue de la conception de notre bibliothèque, il est évident que le développeur pourrait mettre un symbole « fixe » au milieu de la ligne. Mais que pensez-vous qu'il se passe lorsque l'utilisateur commence à supprimer des caractères depuis le début de la ligne ?

Encore plus de questions se posent lorsque vous décidez d'incorporer un bouton Effacer UITextField .
La méthode déléguée correspondante -textFieldShouldClear() ne vous permettra pas d'effacer partiellement votre champ de texte, elle est destinée à effacer tout le texte. Remplacer ou étendre le comportement du bouton clair est une décision de conception ambiguë et donc une grande responsabilité pour notre bibliothèque, car nous devrons couvrir tous les cas d'utilisation. Certaines personnes (développeurs et utilisateurs ) voudront que le bouton d'effacement natif efface tout le texte, quelqu'un s'attendra à ce que tous les symboles "fixes" restent après l'effacement, et d'autres supposeront que seul le préfixe "fixe" doit rester et "fixe" les caractères au milieu de la ligne doivent être effacés.

La seule chose avec laquelle je pourrais vous aider est un conseil pour réfléchir aux objectifs que vous visez à atteindre.
Ne combattez pas le SDK car le SDK gagne toujours.

Tous les 3 commentaires

Salut @razalur
Merci pour votre suggestion. Je reviendrai avec des retours un peu plus tard cette semaine, restez à l'écoute !

les mises à jour ?

@TikhonovAlexander salut . @razalur pourrait aussi être intéressé.

Merci de m'avoir rappelé cette demande de fonctionnalité. En fait, nous avons eu une brève conversation avec deux évangélistes d'Apple sur le fait d'avoir un texte non modifiable dans le champ de texte.

TL; DR : Nous n'allons pas prendre en charge cette fonctionnalité.

Cela ne viole pas directement HIG, bien que ce soit une mauvaise idée de restreindre le contrôle de l'utilisateur sur l'application et de prendre en charge la prise de décision. Les champs de texte natifs ne se comportent pas comme ça, et iOS SDK a déjà un composant pour un texte statique - un UILabel .

Vous ne pouvez pas désactiver ou griser un bouton Retour arrière du clavier natif, et les symboles non effaçables apporteront de la confusion, car l'utilisateur final ne sera pas en mesure de déterminer s'il s'agit d'un comportement conçu ou d'un bogue. « Pourquoi exactement mon bouton Retour arrière ne fonctionne pas ? » - et vous ne pouvez pas donner un indice clair.

Du point de vue de la conception de notre bibliothèque, il est évident que le développeur pourrait mettre un symbole « fixe » au milieu de la ligne. Mais que pensez-vous qu'il se passe lorsque l'utilisateur commence à supprimer des caractères depuis le début de la ligne ?

Encore plus de questions se posent lorsque vous décidez d'incorporer un bouton Effacer UITextField .
La méthode déléguée correspondante -textFieldShouldClear() ne vous permettra pas d'effacer partiellement votre champ de texte, elle est destinée à effacer tout le texte. Remplacer ou étendre le comportement du bouton clair est une décision de conception ambiguë et donc une grande responsabilité pour notre bibliothèque, car nous devrons couvrir tous les cas d'utilisation. Certaines personnes (développeurs et utilisateurs ) voudront que le bouton d'effacement natif efface tout le texte, quelqu'un s'attendra à ce que tous les symboles "fixes" restent après l'effacement, et d'autres supposeront que seul le préfixe "fixe" doit rester et "fixe" les caractères au milieu de la ligne doivent être effacés.

La seule chose avec laquelle je pourrais vous aider est un conseil pour réfléchir aux objectifs que vous visez à atteindre.
Ne combattez pas le SDK car le SDK gagne toujours.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

MrJox picture MrJox  ·  11Commentaires

Robuske picture Robuske  ·  4Commentaires

KompoD picture KompoD  ·  5Commentaires

DamascenoRafael picture DamascenoRafael  ·  4Commentaires

beltik picture beltik  ·  6Commentaires