Comment masquer du texte dans un champ de mot de passe dans une application iPhone?


90

J'ai un champ de mot de passe dans mon application (UITextField). Lorsque l'utilisateur entre du texte dans le champ, je souhaite qu'il s'affiche à la *place du texte qu'il a saisi.

J'ai essayé d'utiliser le UIControlEventEditingDidEndof UITextFieldmais il n'en affiche qu'un *à la fin lors de l'édition, mais je veux qu'il affiche le *s dès qu'un texte est entré, comme dans n'importe quel champ de mot de passe de courrier électronique en ligne. Comment puis-je obtenir le comportement souhaité?

Réponses:


174

Je ne comprends pas vraiment votre question, mais je suppose que vous voulez un UITextField qui affiche des points pour les caractères, ce que fait chaque champ de mot de passe sur l'iPhone. Pour cela, vous souhaitez définir la propriété secureTextEntry de cet UITextField (UITextField a une telle propriété car il est conforme au protocole UITextInputTraits) sur YES:

textfield.secureTextEntry = YES;

7
Puis-je définir d'autres personnages au lieu de points?
Vineesh TP

154

Vous pouvez également définir cela dans Interface Builder. Sélectionnez votre champ de texte et vérifiez le paramètre «sécurisé» dans l'inspecteur.

paramètre sécurisé dans Interface Builder


7
Une chose si simple, mais pas très évidente.
Brian Moeskau

Merci, je ne vois généralement pas les instructions du constructeur de l'interface utilisateur.

0

Vous pouvez ajouter un chemin d'accès de clé secureTextEntry de type Boolean et le cocher dans les attributs d'exécution définis par l'utilisateur dans l'inspecteur d'identité.

entrez la description de l'image ici


Vous devriez préférer l'option "Sécuriser" sous les attributs à l'utilisation d'attributs d'exécution comme celui-ci.
axiixc

0

Si vous utilisez la dernière version de Xcode, (version 9), cliquez sur l'UITextField dont vous souhaitez définir l'entrée comme mot de passe, puis cliquez sur l'inspecteur d'attributs et cochez "Saisie de texte sécurisée".


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.