How to toggle a UITextField secure text entry (hide password) in Swift?

前端 未结 24 2295
时光取名叫无心
时光取名叫无心 2021-01-30 02:00

I currently have a UITextfield with an eye icon in it that when pressed is supposed to toggle the secure text entry on and off.

I know you can che

相关标签:
24条回答
  • 2021-01-30 02:42

    As others have noted, the property is secureTextEntry, but you won't find this in the UITextField documentation, as it is actually inherited by a UITextField through the UITextInputTraits protocol- https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextInputTraits_Protocol/#//apple_ref/occ/intfp/UITextInputTraits/secureTextEntry

    You can simply toggle this value each time your button is tapped:

    @IBAction func togglePasswordSecurity(sender: UIButton) {
        self.passwordField.secureTextEntry = !self.passwordField.secureTextEntry
    }
    
    0 讨论(0)
  • 2021-01-30 02:43

    For Xamarin folks:

    passwordField.SecureTextEntry = passwordField.SecureTextEntry ? passwordField.SecureTextEntry = false : passwordField.SecureTextEntry = true;

    0 讨论(0)
  • 2021-01-30 02:46

    try this line:

    @IBAction func btnClick(sender: AnyObject) {
        let btn : UIButton = sender as! UIButton
        if btn.tag == 0{
            btn.tag = 1
            textFieldSecure.secureTextEntry = NO
        }
        else{
            btn.tag = 0
            textFieldSecure.secureTextEntry = NO;
        }
    }
    
    0 讨论(0)
  • 2021-01-30 02:50

    In Swift 4

     var iconClick : Bool!
    
        override func viewDidLoad() {
            super.viewDidLoad()
            iconClick = true
         }
    
    
        @IBAction func showHideAction(_ sender: Any)
        {
            let userPassword = userPasswordTextFiled.text!;
    
            if(iconClick == true) {
                userPasswordTextFiled.isSecureTextEntry = false
                iconClick = false
            } else {
                userPasswordTextFiled.isSecureTextEntry = true
                iconClick = true
            }
    
    }
    
    0 讨论(0)
  • 2021-01-30 02:51

    Swift 3

    passwordTF.isSecureTextEntry = true
    passwordTF.isSecureTextEntry = false
    
    0 讨论(0)
  • 2021-01-30 02:52

    Try this code in swift 4, tried to make a reusable code within a controller. I have set different image for buttons in storyboard as shown in the link https://stackoverflow.com/a/47669422/8334818

    @IBAction func clickedShowPassword(_ sender: UIButton) {
            var textField :UITextField? = nil
            print("btn ",sender.isSelected.description)
            switch sender {
            case encryptOldPswdBtn:
                encryptOldPswdBtn.isSelected = !encryptOldPswdBtn.isSelected
                textField = oldPasswordTextField
    
            default:
              break
            }
    
            print("text ",textField?.isSecureTextEntry.description)
            textField?.isSecureTextEntry = !(textField?.isSecureTextEntry ?? false)
    
        }
    
    0 讨论(0)
提交回复
热议问题