Nascondi la password con “•••••••” in un campo di testo


132

Nella mia app c'è un campo di testo in cui l'utente deve inserire la password e voglio che quando inserisce un carattere lo cambi in '•' come posso farlo?

Risposte:


302

Puoi farlo direttamente in Xcode:

inserisci qui la descrizione dell'immagine

L'ultima casella di controllo, assicurati secure sia selezionata.

Oppure puoi farlo usando il codice:

Identifica se l'oggetto testo deve nascondere il testo inserito.

Dichiarazione

optional var secureTextEntry: Bool { get set }

Discussione

Questa proprietà è impostata di falsedefault. L'impostazione di questa proprietà su truecrea un oggetto di testo in stile password, che nasconde il testo immesso.

esempio:

texfield.secureTextEntry = true

1
Nel nuovo XCode8 e versioni successive dobbiamo aggiungere secureTextEntry nella colonna degli attributi di runtime
Balagurubaran

55

in Swift 3.0 o versioni successive

passwordTextField.isSecureTextEntry = true

13

In XCode 6.3.1, se usi a NSTextFieldnon vedrai la casella di controllo per secure.

Invece di usare NSTextFielduseNSSecureTextField

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

Immagino che si tratti di una modifica Swift / Objective-C poiché ora esiste una classe per i campi di testo sicuri. Nel link sopra si dice Available in OS X v10.0 and later. Se sai di più su quando / perché / quali versioni di Swift / Objective-C, XCode o OS X questo


Per lo sviluppo di MacOS, questa è la nuova risposta corretta
Joseph DeCarlo,

12

Swift 4 e Xcode versione 9+

Può essere impostato tramite "Inserimento testo sicuro" tramite Interface Builder

Inserimento sicuro del testo controllato tramite screenshot dello storyboard


Salve, a volte il campo di testo protetto si evidenzia in giallo con errore "Password complessa", esiste una soluzione?
Saravanan,

1

Per SwiftUI, prova

TextField ("Email", text: $email)
    .textFieldStyle(RoundedBorderTextFieldStyle()).padding()
SecureField ("Password", text: $password)
    .textFieldStyle(RoundedBorderTextFieldStyle()).padding()


-1

Programmaticamente (Swift 4 e 5)

self.passwordTextField.isSecureTextEntry = true

1
Per swift 3 e versioni successive la sintassi è stata modificata, fare riferimento alle risposte sopra.
Mojtaba al Moussawi,

La mia risposta è per Swift 4
Arunabh Das,

2
Sei sicuro che si tratti di Swift 4? Non esiste una proprietà o un metodo chiamato secure per un textField ... per Swift 4 usiamo self.passwordTextField.isSecureTextEntry = true
mojtaba al moussawi
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.