I create a simple project: https://github.com/edzio27/textFieldExample.git
where I add two UITextFields, one with login and second one with secure passw
Toggling secure/insecure state with a custom font: to show 'secure' text (blob characters), a font containing the blob character is set by iOS. This is the font you're later seeing render text when you switch to insecure mode.
Though the textfield keeps your assigned custom font, the field's content is an attributed string which references the blob-containing font.
The simple solution: write to the attributed string field, and your correct, custom font is re-applied.
To turn off secure entry & keep a custom font:
passwordTextField.secureTextEntry = false
// We have to remove iOS' secure font by setting attributedText.
let pwd = passwordTextField.text!
passwordTextField.attributedText = NSAttributedString(string: pwd)