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?

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

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

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


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


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


-1

Programaticamente (Swift 4 e 5)

self.passwordTextField.isSecureTextEntry = true

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.