Как отобразить замещающий символ пароля в UILabel?
-
01-07-2019 - |
Вопрос
Мне нужно отобразить UITableView
содержащий учетные данные пользователя.Для этого я использую UILabels
в UITableViewCell
.Когда я показываю их пароль, я, очевидно, хотел бы просто отображать символ-заполнитель пароля вместо фактического пароля, аналогично UITextField
когда он установлен на безопасный режим ввода текста.На самом деле, я бы хотел использовать тот же символ, что и UITextField
использует вместо '*'.
Мой вопрос: каков код символа пароля? UITextField
когда он в безопасном режиме?
Решение
Почему бы просто не использовать UITextField, сделать поле недоступным для редактирования и изменить стиль границы, чтобы оно выглядело как UILabel?
Другие советы
Вот способ сделать это, например, отобразить пароль «пунктиром» в 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;
Символ пароля, вероятно, представляет собой пулю.На Mac опция-8 вставит его везде, где вы печатаете.В палитре символов указано, что это Unicode. 2022 и UTF8 Е2 80 А2.
Хотя это очень старый вопрос, я столкнулся с той же проблемой.У бенсадо правильная идея, хотя я думаю, что Юникод должен быть 25 куб.см..На мой взгляд, это именно та точка, которую Apple использует в защищенном UITextField.
В iOS 10 символ Юникода ЧЕРНЫЙ КРУГ больше не соответствует защищенному текстовому полю.Используемый символ: ⦁ «Z-НОТАЦИЯ» (U+2981).
В Swift 3 вы можете использовать:
passwordLabel.text = String(password.characters.map { _ in return "•" })