2008-09-17 4 views
8

Мне нужно отобразить UITableView, содержащий учетные данные учетной записи пользователя. Для этого я использую UILabels в UITableViewCell. Когда я показываю свой пароль, я, очевидно, хотел бы просто отобразить символ пароля заполнителя вместо его фактического пароля, аналогичный UITextField, когда он настроен на режим безопасного ввода текста. На самом деле, я бы хотел использовать тот же символ, что и UITextField, вместо '*'.Как отобразить символ-заменитель в UILabel?

Мой вопрос: что представляет собой код символа для символа пароля UITextField, когда он находится в защищенном режиме?

ответ

8

Почему бы просто не использовать UITextField, сделать поле не редактируемым и изменить стиль рамки, чтобы он выглядел как UILabel?

3

Характер пароля, вероятно, пуля. На Mac опция-8 будет вставлять ее везде, где вы печатаете. Палитра символов говорит, что это Юникод и UTF8 E2 80 A2.

2

Хотя очень старый вопрос, я столкнулся с той же проблемой. benzado имеет правильный идеал, хотя я думаю, что 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

В прошивке 10, персонаж ЧЕРНОГО КРУГА Unicode не согласуется с защищенным текстом поле больше. Используемый символ - «Z NOTATION SPOT» (U + 2981).

1

В Swift 3 вы можете использовать:

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