Comment puis-je afficher un caractère de mot de passe de remplacement dans un UILabel?

StackOverflow https://stackoverflow.com/questions/83687

  •  01-07-2019
  •  | 
  •  

Question

J'ai besoin d'afficher un UITableView contenant les informations d'identification du compte de l'utilisateur. Pour cela, j'utilise UILabels dans UITableViewCell . Lorsque j'affiche leur mot de passe, je souhaite évidemment simplement afficher un caractère de mot de passe de substitution au lieu de leur mot de passe actuel, similaire à un UITextField lorsqu'il est défini sur le mode de saisie de texte sécurisé. En fait, j'aimerais utiliser le même caractère que UITextField , au lieu de '*'.

Ma question est la suivante: quel est le code de caractère du mot de passe UITextField lorsqu'il est en mode sécurisé?

Était-ce utile?

La solution

Pourquoi ne pas simplement utiliser un UITextField, rendre le champ non modifiable et modifier le style de la bordure pour le faire ressembler à un UILabel?

Autres conseils

Voici un moyen de le faire, par exemple, d’afficher le mot de passe "en pointillé". dans le detailTextLabel d'une cellule prototype:

// 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;

Le caractère du mot de passe est probablement une puce. Sur un Mac, l'option-8 en insère une partout où vous tapez. La palette de caractères indique qu'il s'agit d'unicode 2022 et UTF8 E2 80 A2 .

Bien qu’une très vieille question, j’ai rencontré le même problème. benzado a la bonne idée, bien que je pense que l’Unicode devrait être 25cf . Pour moi, cela ressemble exactement au point qu'Apple utilise dans un UITextField sécurisé.

Sous iOS 10, le caractère Unicode de BLACK CIRCLE n'est plus compatible avec le champ de texte sécurisé. Le caractère à utiliser est & # 10625; "Z NOTATION SPOT" (U + 2981).

Dans Swift 3, vous pouvez utiliser:

passwordLabel.text = String(password.characters.map { _ in return "•" })
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top