2013-06-09 5 views
15

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

enter image description here

+2

Возможный дубликат [изменение символа безопасного пароля в UITextfield] (http://stackoverflow.com/questions/3280069/change-the-secure-password-character-in-uitextfield) – Claudiu

ответ

11

Вы можете установить его программно

[textField setSecureTextEntry:YES]; 

или IB (обеспеченных флажок в нижней части)

enter image description here

+2

Да, но текст отображается как точки .. Я хочу звездочку –

+2

@TimTuffley Я так хотел ответить, что я не читал его правильно. Простите за это. – Anupdas

+0

@TimTuffley Этот [ответ] (http://stackoverflow.com/a/3280471/767730) может быть полезен. – Anupdas

4

Также можно попробовать просто реализовать ваши собственные " защищенное текстовое поле ".

Просто создайте нормальное, незащищенное текстовое поле и привяжите его действие «Редактирование изменено» с помощью метода в вашем контроллере вида.

Затем в этом методе вы можете принимать новые символы каждый раз, когда текст изменяется, и добавлять их к собственному свойству NSString, а затем устанавливать свойство .text TextField в строку со звездочками в ней (или любым другим характер, если вы предпочитаете).

Update: как отметило hayesk ниже, это решение уже не является идеальным, как введение сторонних клавиатур подвергает вход на незащищенных текстовых полей в стороннем приложении, рискуя их сбор эту информацию и/или добавить ее в базу данных автозамены.

+7

Эти решения плохи, потому что поле действительно не безопасно. Он позволяет сторонним клавиатурам отслеживать, и он все равно может добавлять пароли в базу данных автозамены. – hayesk

+0

Ahh, интересно. Я написал этот ответ перед существованием сторонних клавиатур, поэтому в то время это не было проблемой, но хорошо знать, что теперь это уже не идеальное решение. Благодаря! –

+0

Вы можете добавить этот код 'приложения Func (_ приложение: UIApplication, shouldAllowExtensionPointIdentifier extensionPointIdentifier: UIApplicationExtensionPointIdentifier) ​​-> Bool { если extensionPointIdentifier == .keyboard { возвращение ложным } возвращающие }' 'к вашему AppDelegate' к отключить сторонние клавиатуры. – Matic1911

Смежные вопросы