Input-mask-ios: Obtenir la chaîne d'origine

Créé le 27 sept. 2017  ·  6Commentaires  ·  Source: RedMadRobot/input-mask-ios

Comment obtenir la chaîne d'origine?
Par exemple, j'ai le masque {(123)}-[000] et le texte du champ de texte est "(123)456, je veux obtenir exactement ce que l'utilisateur entre, est-ce le cas - 456.

question

Tous les 6 commentaires

Salut @beltik
Merci pour votre question.

MaskedTextFieldDelegate a un écouteur avec une méthode de rappel textField(_:didFillMandatoryCharacters:didExtractValue:) , où la «valeur extraite» est une variable que vous recherchez, voir la section Utilisation pour les détails d'implémentation.

Merci.
Je souhaite également ajouter n'importe quel caractère, chiffre ou symbole à la saisie de l'utilisateur.
Actuellement, pour ce faire, je fais glisser la bibliothèque vers mon objet et je la modifie.
La raison en est que j'avais besoin de symboles comme ".%@?" etc.

@beltik ,

Je ne suis pas sûr de vous avoir bien compris, mais il y a une demande de fonctionnalité sur les caractères spéciaux, et le travail en cours est en cours.

Ps De plus, selon le format de votre masque, pour {(123)}-[000] vous recevrez une valeur résultante comme (123)000 , avec le préfixe (123) inclus.

Afin de l'omettre, vous devez incorporer un format comme (123)-[000] .

@taflandi

Si j'ai un masque comme [-] ou [_], je ne peux entrer que des lettres ou des chiffres, mais qu'en est-il des symboles comme le point ? Actuellement, je ne peux pas taper de point et d'autres symboles dans le champ.

Pour ajouter cette capacité, j'ai fait glisser la bibliothèque des pods vers le projet et la modifier. Il existe une méthode qui renvoie uniquement un jeu de caractères spécifique en fonction de la casse enum, je la commente simplement et renvoie OUI (car elle correspond à mes besoins). Mais une meilleure solution est d'ajouter quelque chose comme ["specific-key"] qui permet d'éditer tous les symboles.

Permettez-moi d'essayer d'expliquer à nouveau. J'ai besoin de pouvoir ajouter des symboles comme "," ou ".".
Pour ce faire, j'ai copié la bibliothèque dans mon projet, et dans la classe ValueState dans func func accepte (character char: Character) -> Bool {
J'ai remplacé le code par le suivant :
cas .AlphaNumeric :
// retourne CharacterSet.alphanumerics.isMember(character: char)
retourner vrai

Mais, bien sûr, je préférerais ajouter une casse supplémentaire, comme la casse .everyCharacter. Et cette fonctionnalité que je demande (ou peut-être qu'il y a un moyen plus simple mais je ne l'ai pas trouvé).
J'espère que je suis clair.

Implémenté dans 3.3.0 .

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

Questions connexes

razalur picture razalur  ·  3Commentaires

KompoD picture KompoD  ·  5Commentaires

MrJox picture MrJox  ·  11Commentaires

DamascenoRafael picture DamascenoRafael  ·  4Commentaires

caioremedio picture caioremedio  ·  6Commentaires