Как отобразить замещающий символ пароля в UILabel?

StackOverflow https://stackoverflow.com/questions/83687

  •  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 "•" })
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top