web-dev-qa-db-fra.com

Masquer le mot de passe avec "•••••••" dans un champ de texte

Dans mon application, il y a un champ de texte où l'utilisateur doit mettre son mot de passe et je veux que lorsqu'il entre un caractère, il le change en '•'. Comment puis-je le faire?

119
Clément Bisaillon

Vous pouvez y parvenir directement dans Xcode:

enter image description here

Dernière case à cocher, assurez-vous que secure est coché.

Ou vous pouvez le faire en utilisant le code:

Identifie si l'objet texte doit masquer le texte en cours de saisie.

Déclaration

optional var secureTextEntry: Bool { get set }

Discussion

Cette propriété est définie sur false par défaut. La définition de cette propriété sur true crée un objet texte de style mot de passe, qui masque le texte saisi.

exemple:

texfield.secureTextEntry = true
271
meda

dans Swift 3.0 ou version ultérieure

passwordTextField.isSecureTextEntry = true
44
kishu mewara

Swift 4 et Xcode version 9+

Peut être défini via "Entrée de texte sécurisée" via Interface Builder

Secure Text Entry checked via storyboard screenshot

11
Hatim

Dans XCode 6.3.1, si vous utilisez un NSTextField, vous ne verrez pas la case à cocher pour secure.

Au lieu d'utiliser NSTextField, utilisez NSSecureTextField

https://developer.Apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSSecureTextField_Class/index.html

J'imagine qu'il s'agit d'un changement Swift/Objective-C puisqu'il existe maintenant une classe pour les champs de texte sécurisés. Dans le lien ci-dessus, il est indiqué Available in OS X v10.0 and later. Si vous en savez plus sur les versions quand/pourquoi/quelles versions de Swift/Objective-C, Xcode ou OS X

10
user3731622