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


90

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

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

Ответы:


174

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

textfield.secureTextEntry = YES;

7
Могу ли я установить другие символы вместо точек?
Vineesh TP

154

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

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


7
Такая простая вещь, но не очень очевидная.
Брайан Моэскау,

Спасибо, я обычно не вижу инструкций по построению пользовательского интерфейса.

0

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

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


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

0

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


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.