2008-09-17 60 views
8

我需要顯示一個包含用戶帳戶憑證的UITableView。爲此,我在UITableViewCell中使用UILabels。當我顯示他們的密碼時,我顯然想顯示一個佔位符密碼字符而不是他們的實際密碼,當它被設置爲安全文本輸入模式時,類似於UITextField。實際上,我想使用與UITextField用法相同的字符,而不是'*'。如何在UILabel中顯示替代密碼字符?

我的問題是,當它處於安全模式時,密碼字符UITextField的字符代碼是什麼?

回答

8

爲什麼不只是使用UITextField,使該字段不可編輯,並更改邊框樣式,使其看起來像UILabel?

3

密碼字符可能是子彈。在Mac上,選項-8將在您輸入的任何地方插入。字符調色板表示它是Unicode 和UTF8 E2 80 A2

2

雖然是一個很古老的問題,但我遇到了同樣的問題。 benzado有正確的idee,但我認爲Unicode應該是25cf。對我來說,它看起來就像蘋果公司在受保護的UITextField中使用的那樣。

17

這裏有一個辦法做到這一點,例如,以顯示密碼在原型細胞的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; 
+0

太好了!謝謝。 – 2013-03-20 06:39:29

0

在iOS系統10的黑圈Unicode字符是不符合安全文字一致領域了。要使用的字符是「Z NOTATION SPOT」(U + 2981)。

1

在斯威夫特3,你可以使用:

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