Как скрыть текст в поле пароля в приложении для iPhone?

90

В моем приложении есть поле для пароля (UITextField). Когда пользователь вводит текст в поле, я хочу, чтобы он отображался* вместо введенного текста.

Я пробовал использовать UIControlEventEditingDidEndof, UITextFieldно он показывает только один *в конце при редактировании, но я хочу, чтобы он отображал *s, как только вводится любой текст, как в любом поле пароля электронной почты в Интернете. Как добиться желаемого поведения?

TheNeil
источник

Ответы:

174

Я действительно не понимаю ваш вопрос, но я предполагаю, что вам нужен UITextField, который отображает точки для символов, что делает каждое поле пароля на iPhone. Для этого вы хотите установить для свойства secureTextEntry этого UITextField (UITextField такое свойство, потому что он соответствует протоколу UITextInputTraits) на YES:

textfield.secureTextEntry = YES;
Drvdijk
источник
7
Могу ли я установить другие символы вместо точек?
Vineesh TP
154

Вы также можете установить это в Интерфейсном Разработчике. Выделите текстовое поле и проверьте настройку «безопасности» в инспекторе.

безопасная настройка в Интерфейсном Разработчике

Натаниэль Мартин
источник
7
Такая простая вещь, но не очень очевидная.
Брайан Моэскау,
Спасибо, я обычно не вижу инструкций по построению пользовательского интерфейса.
0

Вы можете добавить ключевой путь secureTextEntry типа Boolean и отметить его в пользовательских атрибутах времени выполнения в Identity Inspector.

введите описание изображения здесь

Вивеканандан
источник
Вы должны предпочесть вариант «Безопасный» под атрибутами, а не использовать такие атрибуты времени выполнения.
axiixc
0

Если вы используете последнюю версию Xcode (версия 9), щелкните поле UITextField, которое вы хотите установить в качестве пароля, затем щелкните инспектор атрибутов и установите флажок «Защищенный ввод текста».

Донна
источник