8

我需要显示一个UITableView包含用户的帐户凭据。为此,我使用UILabelsin UITableViewCell。当我显示他们的密码时,我显然只想显示一个占位符密码字符而不是他们的实际密码,类似于将UITextField其设置为安全文本输入模式时。事实上,我想使用与使用相同的字符UITextField,而不是“*”。

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

4

6 回答 6

18

这是一种方法,例如,在 Prototype Cell 的 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;
于 2012-02-16T01:03:57.007 回答
9

为什么不直接使用 UITextField,使字段不可编辑并更改边框样式以使其看起来像 UILabel?

于 2008-09-17T14:24:22.523 回答
3

密码字符可能是子弹。在 Mac 上,option-8 将在您输入的任何位置插入一个。Character Palette 显示它是 Unicode 2022和 UTF8 E2 80 A2

于 2008-09-18T07:32:37.560 回答
3

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

于 2016-08-16T15:34:31.630 回答
2

虽然是一个非常古老的问题,但我遇到了同样的问题。benzado 有正确的想法,虽然我认为 Unicode 应该是25cf。在我看来,这正是苹果在安全 UITextField 中使用的点。

于 2011-04-10T17:10:50.363 回答
2

在 Swift 3 中,您可以使用:

passwordLabel.text = String(password.characters.map { _ in return "•" })
于 2017-05-31T10:40:11.520 回答