90 votes

Comment masquer le texte d'un champ de mot de passe dans une application iPhone ?

J'ai un champ de mot de passe dans mon application (UITextField). Lorsque l'utilisateur saisit du texte dans le champ, je veux qu'il affiche * au lieu du texte qu'ils ont saisi.

J'ai essayé d'utiliser le UIControlEventEditingDidEnd de UITextField mais il ne montre qu'un seul * à la fin lors de l'édition, mais je veux qu'il affiche l'information suivante * dès qu'un texte est saisi, comme dans n'importe quel champ de mot de passe d'un courriel en ligne. Comment puis-je obtenir le comportement souhaité ?

174voto

drvdijk Points 3940

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 font tous les champs de mot de passe sur l'iPhone. Pour cela, vous devez définir la propriété secureTextEntry de cet UITextField (l'UITextField possède une telle propriété car il est conforme au protocole UITextInputTraits) sur YES :

textfield.secureTextEntry = YES;

154voto

Nathaniel Martin Points 1410

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

secure setting in Interface Builder

0voto

Vivekanandan Points 108

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

enter image description here

0voto

Donna Points 1

Si vous utilisez la dernière version de Xcode, (version 9), cliquez sur le UITextField dont vous voulez définir l'entrée comme mot de passe, puis cliquez sur l'inspecteur d'attributs et cochez "Secure Text Entry".

0voto

Mike.R Points 181

Swift 3.3

textfield.isSecureTextEntry = true

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X