Як ви затемнюєте текст у полі пароля в програмі iPhone?


90

У моїй програмі є поле для пароля (UITextField). Коли користувач вводить текст у поле, я хочу, щоб він відображався *замість тексту, який він ввів.

Я спробував з допомогою UIControlEventEditingDidEndз UITextFieldале він показує тільки один *в кінці при редагуванні , але я хочу, щоб відобразити *S , як тільки будь-який текст вводиться, як і в будь-якому онлайн поле електронної пошти пароль. Як я можу отримати бажану поведінку?

Відповіді:


174

Я насправді не розумію вашого запитання, але я здогадуюсь, що вам потрібен UITextField, який відображає крапки для символів, що робить кожне поле пароля на iPhone. Для цього потрібно встановити властивість secureTextEntry цього UITextField (UITextField має таку властивість, оскільки воно відповідає протоколу UITextInputTraits) на YES:

textfield.secureTextEntry = YES;

7
Чи можу я встановити інші символи замість крапок?
Vineesh TP

154

Ви також можете встановити це в Interface Builder. Виберіть своє текстове поле та перевірте параметр "безпечний" в інспекторі.

безпечне налаштування в Interface Builder


7
Така проста річ, але не дуже очевидна.
Брайан Моескау

Дякую, я зазвичай не бачу інструкцій розробника інтерфейсу користувача.

0

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

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


Вам слід віддати перевагу параметру "Безпечний" під атрибутами, а не використанню таких атрибутів часу виконання.
axiixc

0

Якщо ви використовуєте останню версію Xcode (версія 9), клацніть на UITextField, для якого потрібно встановити введення як пароль, а потім натисніть на інспектор атрибутів і поставте прапорець біля пункту «Захищений введення тексту».


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.