在Swift的UITextfield中显示用户键入的密码

时间:2018-08-31 14:17:59

标签: ios swift uitextfield

我有一个密码UITextfield,目前已作为安全条目打开。我想向用户显示他输入的密码,当UITextfield时,它再次在UISwitch is turned on中输入文本信息。到目前为止,这是我的实现。当我在控制台中将其打印出来但不在UITextfield中时,它可以工作。我想在UISwitch关闭时打开和关闭UISwitch时显示它。

@IBOutlet weak var existingPasswordTexfField: UITextField!
@IBOutlet weak var newPasswordTextField: UITextField!
@IBOutlet weak var changePasswordSwitch: UISwitch!

@IBAction func showPassword(_ sender: UISwitch) {
    if changePasswordSwitch.isOn {
        guard let oldText = existingPasswordTexfField.text else { return }

        if existingPasswordTexfField.isSecureTextEntry {
            existingPasswordTexfField.text = oldText
        } else {
            print("Pawword is already secure")
        }
    }
}

3 个答案:

答案 0 :(得分:4)

根据Apple DocìsSecureTextEntry是可写属性

因此,您需要在if (resp.modal) { showModal(resp.modal); } IBAction中设置它,以便在某个时候切换它:

showPassword

或者只是

existingPasswordTexfField.isSecureTextEntry = false

答案 1 :(得分:3)

当用户轻按开关时,您需要在文本字段上更改isSecureTextEntry标志。

@IBAction func showPassword(_ sender: UISwitch) {
    existingPasswordTextField.isSecureTextEntry = changePasswordSwitch.isOn
}

答案 2 :(得分:1)

这也是有效的

existingPasswordTexfField.isSecureTextEntry = changePasswordSwitch.isOn ? false : true