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

时间:2008-09-17 14:15:05

标签: ios objective-c

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

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

6 个答案:

答案 0 :(得分: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;

答案 1 :(得分:8)

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

答案 2 :(得分:3)

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

答案 3 :(得分:2)

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

答案 4 :(得分:2)

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

答案 5 :(得分:1)

在Swift 3中,您可以使用:

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