2008-09-17 7 views
8

Necesito mostrar un UITableView que contenga las credenciales de la cuenta de un usuario. Para esto, estoy usando UILabels en UITableViewCell. Cuando muestre su contraseña, obviamente me gustaría mostrar un carácter de contraseña de marcador de posición en lugar de su contraseña real, similar a UITextField cuando está configurado para el modo de ingreso de texto seguro. De hecho, me gustaría utilizar el mismo personaje que usa UITextField, en lugar de '*'.¿Cómo se muestra un carácter de contraseña sustituta en un UILabel?

Mi pregunta es, ¿cuál es el código de carácter para el carácter de contraseña UITextField cuando está en modo seguro?

Respuesta

8

¿Por qué no usar simplemente un UITextField, hacer que el campo no sea editable y cambiar el estilo del borde para que se vea como un UILabel?

3

El carácter de la contraseña es probablemente una viñeta. En una Mac, la opción 8 insertará una donde sea que esté escribiendo. La paleta de caracteres dice que es Unicode y UTF8 E2 80 A2.

2

Aunque era una pregunta muy antigua, me encontré con el mismo problema. benzado tiene la idea correcta, aunque creo que el Unicode debe ser 25cf. Para mí, parece que eso es exactamente lo que usa el dot apple en un UITextField seguro.

17

Aquí está una manera de hacer esto, por ejemplo, para mostrar la contraseña "salpicado a cabo" en detailTextLabel de una célula prototipo

// self.password is your password string 
NSMutableString *dottedPassword = [NSMutableString new]; 

for (int i = 0; i < [self.password length]; i++) 
{ 
    [dottedPassword appendString:@"●"]; // BLACK CIRCLE Unicode: U+25CF, UTF-8: E2 97 8F 
} 

cell.detailTextLabel.text = dottedPassword; 
+0

Gran! Gracias. –

+0

¡Superp! Me salvaste el tiempo. –

0

En IOS 10, el carácter NEGRO CÍRCULO Unicode no es coherente con el texto segura campo más. El personaje a usar es ⦁ "Z NOTATION SPOT" (U + 2981).

1

En Swift 3 se puede utilizar:

passwordLabel.text = String(password.characters.map { _ in return "•" }) 
Cuestiones relacionadas