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.
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
.