How do you obscure text in a password field in an iPhone Application?

Viewed 67623

I have a password field in my application (UITextField). When user enters text in the field, I want it to display * instead of the text they entered.

I have tried using the UIControlEventEditingDidEnd of UITextField but it only shows one * at the end when editing but I want it to display the *s as soon as any text is entered, like in any online email password field. How can I get the desired behavior?

5 Answers

I don't really understand your question, but I'm guessing you want a UITextField which displays dots for the characters, which every password field on the iPhone does. For this, you want to set the secureTextEntry property of that UITextField (UITextField has such a property because it conforms to the UITextInputTraits protocol) to YES:

textfield.secureTextEntry = YES;

You can also set this in Interface Builder. Select your text field, and check the "secure" setting in the inspector.

secure setting in Interface Builder

If you are using the latest version of Xcode, (version 9), click on the UITextField that you want to set the input as password, then click on the attributes inspector and check "Secure Text Entry".

Swift 3.3

textfield.isSecureTextEntry = true
Related