【问题标题】:Show password typed by user in UITextfield in Swift在 Swift 的 UITextfield 中显示用户输入的密码
【发布时间】:2018-08-31 14:17:59
【问题描述】:

我的密码UITextfield 目前已作为安全入口打开。我想在UISwitch is turned on 时再次向用户显示他在UITextfield 中输入的密码。到目前为止,这是我的实现。它在我在控制台中打印出来但在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")
        }
    }
}

【问题讨论】:

标签: ios swift uitextfield


【解决方案1】:

根据Apple DocìsSecureTextEntry 是可写属性

所以你需要在你的showPassword IBAction 中设置它来切换它:

existingPasswordTexfField.isSecureTextEntry = false

或者只是

existingPasswordTexfField.isSecureTextEntry = !changePasswordSwitch.isOn

【讨论】:

    【解决方案2】:

    当用户拨动开关时,您需要更改文本字段上的 isSecureTextEntry 标志。

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

    【讨论】:

      【解决方案3】:

      这也是可行的

      existingPasswordTexfField.isSecureTextEntry = changePasswordSwitch.isOn ? false : true
      

      【讨论】:

      • 或者简单地说:existingPasswordTexfField.isSecureTextEntry = !changePasswordSwitch.isOn
      • 这样更好。谢谢。
      猜你喜欢
      • 1970-01-01
      • 2020-11-23
      • 2014-12-28
      • 2021-10-29
      • 1970-01-01
      • 2014-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多