web-dev-qa-db-fra.com

Comment masquer du texte dans 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 entre du texte dans le champ, je veux qu'il affiche * au lieu du texte qu'il a saisi.

J'ai essayé d'utiliser la variable UIControlEventEditingDidEnd de UITextField mais elle ne montre qu'un * à la fin de l'édition, mais je souhaite qu'elle affiche le *s dès qu'un texte est entré, comme dans tout champ de mot de passe de courrier électronique en ligne. Comment puis-je obtenir le comportement souhaité?

89
jaynaiPhone

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

textfield.secureTextEntry = YES;

HTH

174
drvdijk

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.

secure setting in Interface Builder

154
Nathaniel Martin

Si vous utilisez la dernière version de Xcode (version 9), cliquez sur le champ UITextField pour lequel vous souhaitez définir l'entrée, puis cliquez sur l'inspecteur d'attributs et cochez la case "Entrée de texte sécurisée".

0
Donna

Swift 3,3

textfield.isSecureTextEntry = true
0
Mike.R

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

 enter image description here

0
Vivekanandan