如何在UILabel中显示替代密码字符?

我需要显示包含用户的帐户凭证的UITableView 。 为此,我在UITableViewCell使用UILabels 。 当我显示他们的密码时,我显然希望只显示一个占位符密码字符而不是他们的实际密码,类似于UITextField当它被设置为安全文本input模式时。 事实上,我想使用与UITextField使用相同的字符,而不是'*'。

我的问题是,当UITextField处于安全模式时,密码字符的字符代码是什么?

为什么不只是使用UITextField,使该字段不可编辑,并更改边框样式,使其看起来像一个UILabel?

这里有一个方法来做到这一点,例如,在原型单元格的detailTextLabel中显示“虚线出来”的密码:

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

密码字符可能是一个子弹。 在Mac上,选项8将在您input的地方插入一个。 字符调色板表示它是Unicode 2022和UTF8 E2 80 A2

虽然是一个非常古老的问题,但我遇到了同样的问题。 benzade有正确的idee,但我认为Unicode应该是25cf 。 对我来说,这看起来就像苹果在安全的UITextField中使用的那样。

在Swift 3中,你可以使用:

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

在iOS 10中,BLACK CIRCLE Unicode字符与安全文本字段不再一致。 要使用的字符是“Z NOTATION SPOT”(U + 2981)。