Ocultar contraseña con "•••••••" en un campo de texto


132

En mi aplicación hay un campo de texto en el que el usuario debe ingresar la contraseña y quiero que cuando ingrese un carácter lo cambie a '•' ¿cómo puedo hacer esto?

Respuestas:


302

Puede lograr esto directamente en Xcode:

ingrese la descripción de la imagen aquí

La última casilla de verificación, asegúrese de que secureesté marcada.

O puedes hacerlo usando el código:

Identifica si el objeto de texto debe ocultar el texto que se está ingresando.

Declaración

optional var secureTextEntry: Bool { get set }

Discusión

Esta propiedad está configurada falsede manera predeterminada. Al configurar esta propiedad para truecrear un objeto de texto con estilo de contraseña, que oculta el texto que se ingresa.

ejemplo:

texfield.secureTextEntry = true

1
En el nuevo XCode8 y superior tenemos que agregar secureTextEntry en la columna de atributos de tiempo de ejecución
Balagurubaran


13

En XCode 6.3.1, si usa un NSTextFieldno verá la casilla de verificación secure.

En lugar de usar el NSTextFieldusoNSSecureTextField

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

Supongo que esto es un cambio Swift / Objective-C ya que ahora hay una clase para campos de texto seguros. En el enlace anterior dice: Available in OS X v10.0 and later. Si sabe más sobre cuándo / por qué / qué versiones de Swift / Objective-C, XCode u OS X esto


Para el desarrollo de MacOS, esta es la nueva respuesta correcta
Joseph DeCarlo

12

Swift 4 y Xcode Versión 9+

Se puede configurar a través de "Entrada de texto segura" a través de Interface Builder

Entrada de texto segura marcada mediante captura de pantalla del guión gráfico


Hola, a veces el campo de texto seguro resalta en amarillo con el error de texto "Contraseña segura", ¿hay alguna solución?
Saravanan

1

Para SwiftUI, intente

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


-1

Programáticamente (Swift 4 y 5)

self.passwordTextField.isSecureTextEntry = true

1
Para swift 3 y posteriores, se cambió la sintaxis, consulte las respuestas anteriores.
mojtaba al moussawi

Mi respuesta es para Swift 4
Arunabh Das

2
¿Estás seguro de que se trata de Swift 4? No hay ninguna propiedad o método llamado seguro para un textField ... para swift 4 usamos self.passwordTextField.isSecureTextEntry = true
mojtaba al moussawi
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.