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?

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

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

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


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


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()


-1

Programmation (Swift 4 & 5)

self.passwordTextField.isSecureTextEntry = true

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
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.