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

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

有帮助吗?

解决方案

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

其他提示

这是一种执行此操作的方法,例如,在原型单元格的详细文本标签中“用点线”显示密码:

// 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 上,option-8 会在您键入的位置插入一个。字符调色板说它是 Unicode 2022 和UTF8 E2 80 A2.

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

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

在 Swift 3 中你可以使用:

passwordLabel.text = String(password.characters.map { _ in return "•" })
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top