我需要显示包含用户帐户凭据的UITableView
。为此,我在UILabels
中使用UITableViewCell
。当我显示他们的密码时,我显然只想显示一个占位符密码而不是他们的实际密码,类似于设置为安全文本输入模式时的UITextField
。事实上,我想使用与UITextField
使用相同的字符,而不是'*'。
我的问题是,当UITextField
处于安全模式时,密码字符的字符代码是什么?
答案 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 "•" })