UITextField has trailing whitespace after secureTextEntry toggle

后端 未结 18 1336
逝去的感伤
逝去的感伤 2020-12-29 19:27

I have a button that toggles between Show/Hide mode (i.e. toggles a UITextField between secureTextEntry NO and YES). The purpose of which is to allow the user to see the pa

18条回答
  •  长发绾君心
    2020-12-29 20:19

    Swift UITextField extension:

    extension UITextField {
        func toggleSecureEntry() {
            let wasFirstResponder = isFirstResponder
    
            if wasFirstResponder { resignFirstResponder() }
            isSecureTextEntry.toggle()
            if wasFirstResponder { becomeFirstResponder() }
        }
    }
    

    Setting textField.text solution also works in some situations but not for my need (Custom font with two text fields. Caused font changes and glitches on runtime.) Adding here too.

    func toggleSecureEntry() {
        isSecureTextEntry.toggle()
        let originalText = text
        text = nil
        text = originalText
    }
    

提交回复
热议问题