在 Swift 的 UITextfield 中显示用户输入的密码
Posted
技术标签:
【中文标题】在 Swift 的 UITextfield 中显示用户输入的密码【英文标题】:Show password typed by user in UITextfield in Swift 【发布时间】: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")
【问题讨论】:
您需要关闭安全进入。 这能回答你的问题吗? How to toggle a UITextField secure text entry (hide password) in Swift? 【参考方案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
这样更好。谢谢。以上是关于在 Swift 的 UITextfield 中显示用户输入的密码的主要内容,如果未能解决你的问题,请参考以下文章
Swift:点击 UITextField 时如何显示 UIPickerView
在 Swift 中显示 UITextField 的底部边框不适用于约束。