Скрыть пароль с помощью «•••••••» в текстовом поле

132

В моем приложении есть текстовое поле, в которое пользователь должен ввести пароль, и я хочу, чтобы, когда он вводил символ, он менял его на «•», как я могу это сделать?

Клеман Бизайон
источник

Ответы:

302

Вы можете добиться этого прямо в Xcode:

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

Убедитесь, что установлен последний флажок secure.

Или вы можете сделать это с помощью кода:

Определяет, должен ли текстовый объект скрывать вводимый текст.

декларация

optional var secureTextEntry: Bool { get set }

обсуждение

Это свойство установлено falseпо умолчанию. Установка этого свойства в значение trueсоздает текстовый объект в стиле пароля, который скрывает вводимый текст.

пример:

texfield.secureTextEntry = true
МЕДА
источник
1
В New XCode8 и выше мы должны добавить secureTextEntry в столбец атрибутов времени выполнения
Балагурубаран
55

в Swift 3.0 или новее

passwordTextField.isSecureTextEntry = true
Кишу Мевара
источник
13

В XCode 6.3.1, если вы используете, NSTextFieldвы не увидите флажок дляsecure .

Вместо использования NSTextFieldиспользуйтеNSSecureTextField

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSSecureTextField_Class/index.html

Я предполагаю, что это изменение Swift / Objective-C, поскольку теперь есть класс для защищенных текстовых полей. В приведенной выше ссылке говорится, что Available in OS X v10.0 and later. если вы знаете больше о том, когда / почему / какие версии Swift / Objective-C, XCode или OS X это

user3731622
источник
Для разработки под MacOS это новый правильный ответ
Джозеф ДеКарло,
12

Swift 4 и Xcode версии 9+

Может быть установлен через «Безопасный ввод текста» через Interface Builder

Безопасный ввод текста проверяется с помощью снимка экрана раскадровки

Hatim
источник
Привет, Иногда безопасное текстовое поле выделяется желтым цветом с текстом «Ошибка надежного пароля». Есть ли какое-нибудь решение?
Сараванан
1

Для SwiftUI попробуйте

TextField ("Email", text: $email)
    .textFieldStyle(RoundedBorderTextFieldStyle()).padding()
SecureField ("Password", text: $password)
    .textFieldStyle(RoundedBorderTextFieldStyle()).padding()
Фил
источник
0

Вы можете сделать это, используя свойства текстового поля из инспектора атрибутов.

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

Вики Данграни
источник
-1

Программно (Swift 4 и 5)

self.passwordTextField.isSecureTextEntry = true
Арунабх Дас
источник
1
Для swift 3 и более поздних версий синтаксис был изменен, см. Ответы выше.
mojtaba al moussawi
Мой ответ для Swift 4
Арунабх Дас
2
Вы уверены, что это Swift 4? Не существует свойства или метода с именем secure для textField ... для swift 4 мы используем self.passwordTextField.isSecureTextEntry = true
mojtaba al moussawi