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

Ios 在Swift中显示用户在UITextfield中键入的密码,ios,swift,uitextfield,Ios,Swift,Uitextfield,我有密码UITextfield,当前已作为安全条目打开。当ui开关打开时,我想再次向用户显示他在UITextfield中键入的密码,通知文本。这是我迄今为止的实现。当我在控制台中打印它时,它工作,但在UITextfield中不工作。我想在ui开关打开后显示它,在ui开关关闭时显示它 @IBOutlet weak var existingPasswordTexfField: UITextField! @IBOutlet weak var newPasswordTextField: UITextFi

我有密码
UITextfield
,当前已作为安全条目打开。当
ui开关打开时,我想再次向用户显示他在
UITextfield
中键入的密码,通知文本。这是我迄今为止的实现。当我在控制台中打印它时,它工作,但在
UITextfield
中不工作。我想在
ui开关
打开后显示它,在
ui开关
关闭时显示它

@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")
        }
    }
}

当用户翻转开关时,您需要更改文本字段上的
issecurettententry
标志

@IBAction func showPassword(_ sender: UISwitch) {
    existingPasswordTextField.isSecureTextEntry = changePasswordSwitch.isOn
}
根据ìsSecureTextEntry,条目是一个可写属性

因此,您需要在
showPassword
iAction中设置密码,并在某个时间点进行切换:

existingPasswordTexfField.issecurettentextry=false

或者只是

existingPasswordTexfField.issecurettentextry=!changePasswordSwitch.isOn

这也是有效的

existingPasswordTexfField.isSecureTextEntry = changePasswordSwitch.isOn ? false : true

您需要关闭安全入口。这是否回答了您的问题?或者简单地说:
existingPasswordTexfField.issecurettentextry=!changePasswordSwitch.isOn
这甚至更好。谢谢