Masquer le mot de passe avec «•••••••» dans un champ textField

132

Dans mon application, il y a un champ textField dans lequel l'utilisateur doit entrer son mot de passe et je veux que lorsqu'il entre un caractère, il le change en «•» comment puis-je faire cela?

Clément Bisaillon
la source

Réponses:

302

Vous pouvez y parvenir directement dans Xcode:

entrez la description de l'image ici

La toute dernière case à cocher, assurez-vous qu'elle secureest cochée.

Ou vous pouvez le faire en utilisant le code:

Identifie si l'objet texte doit masquer le texte saisi.

Déclaration

optional var secureTextEntry: Bool { get set }

Discussion

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

exemple:

texfield.secureTextEntry = true
meda
la source
1
Dans le nouveau XCode8 et au-dessus, nous devons ajouter secureTextEntry dans la colonne d'attributs d'exécution
Balagurubaran
55

dans Swift 3.0 ou version ultérieure

passwordTextField.isSecureTextEntry = true
kishu mewara
la source
13

Dans XCode 6.3.1, si vous utilisez a, NSTextFieldvous ne verrez pas la case à cocher secure.

Au lieu d'utiliser NSTextFielduseNSSecureTextField

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

Je suppose que c'est un changement Swift / Objective-C car il existe maintenant une classe pour les champs de texte sécurisés. Dans le lien ci-dessus, il est dit Available in OS X v10.0 and later. Si vous en savez plus sur quand / pourquoi / quelles versions de Swift / Objective-C, XCode ou OS X ceci

utilisateur3731622
la source
Pour le développement MacOS, c'est la nouvelle bonne réponse
Joseph DeCarlo
12

Swift 4 et Xcode version 9+

Peut être réglé via "Secure Text Entry" via Interface Builder

Saisie de texte sécurisée vérifiée via une capture d'écran du storyboard

Hatim
la source
Salut, Parfois, le champ de texte sécurisé met en évidence le jaune avec le texte Erreur "Mot de passe fort", existe-t-il une solution?
Saravanan
1

Pour SwiftUI, essayez

TextField ("Email", text: $email)
    .textFieldStyle(RoundedBorderTextFieldStyle()).padding()
SecureField ("Password", text: $password)
    .textFieldStyle(RoundedBorderTextFieldStyle()).padding()
phil
la source
-1

Programmation (Swift 4 & 5)

self.passwordTextField.isSecureTextEntry = true
Arunabh Das
la source
1
Pour swift 3 et les versions ultérieures, la syntaxe a été modifiée, reportez-vous aux réponses ci-dessus.
mojtaba al moussawi
Ma réponse est pour Swift 4
Arunabh Das
2
Êtes-vous sûr que c'est Swift 4? Il n'y a pas de propriété ou de méthode nommée secure pour un textField ... pour swift 4, nous utilisons self.passwordTextField.isSecureTextEntry = true
mojtaba al moussawi