Ocultar senha com "•••••••" em um campo de texto

132

No meu aplicativo, existe um campo de texto em que o usuário deve colocar sua senha e eu quero que, quando ele digitar um caractere, altere-o para '•' como posso fazer isso?

Clément Bisaillon
fonte

Respostas:

302

Você pode conseguir isso diretamente no Xcode:

insira a descrição da imagem aqui

A última caixa de seleção, verifique se secureestá marcada.

Ou você pode fazer isso usando o código:

Identifica se o objeto de texto deve ocultar o texto que está sendo inserido.

Declaração

optional var secureTextEntry: Bool { get set }

Discussão

Esta propriedade está configurada como falsepadrão. Definir essa propriedade para truecriar um objeto de texto no estilo de senha, que oculta o texto que está sendo inserido.

exemplo:

texfield.secureTextEntry = true
meda
fonte
1
No Novo XCode8 e acima temos de acrescentar secureTextEntry na coluna atributo de tempo de execução
Balagurubaran
55

no Swift 3.0 ou posterior

passwordTextField.isSecureTextEntry = true
kishu mewara
fonte
13

No XCode 6.3.1, se você usar um NSTextField, não verá a caixa de seleção secure.

Em vez de usar NSTextFielduseNSSecureTextField

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

Suponho que seja uma alteração Swift / Objective-C, já que agora existe uma classe para campos de texto seguros. No link acima, diz Available in OS X v10.0 and later. Se você sabe mais sobre quando / por que / quais versões do Swift / Objective-C, XCode ou OS X, este

user3731622
fonte
Para o desenvolvimento do MacOS, esta é a nova resposta correta
Joseph DeCarlo
12

Swift 4 e Xcode Versão 9+

Pode ser configurado via "Entrada segura de texto" via Interface Builder

Entrada segura de texto verificada através da captura de tela do storyboard

Hatim
fonte
Olá, Às vezes, o campo de texto seguro destaca amarelo com o erro "Senha forte", existe alguma solução?
Saravanan
1

Para SwiftUI, tente

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

Programaticamente (Swift 4 e 5)

self.passwordTextField.isSecureTextEntry = true
Arunabh Das
fonte
1
Para o swift 3 e posterior, a sintaxe foi alterada, consulte as respostas acima.
Mojtaba al moussawi
Minha resposta é para Swift 4
Arunabh Das
2
Tem certeza de que este é o Swift 4? Não há nenhuma propriedade ou método chamado seguro para um campo de texto ... para SWIFT 4 usamos self.passwordTextField.isSecureTextEntry = true
Mojtaba al Moussawi