切换显示/隐藏密码按钮时,密码文本字段被清除

时间:2016-12-28 09:58:07

标签: ios uikit

我有一个包含密码输入字段和显示/隐藏按钮的UI。测试人员指出了以下不一致的行为。

如果密码被隐藏并且输入了一半(例如“abc”)并且用户点击切换按钮以显示密码并继续输入,那么新的字符(例如“def”)将被添加到初始值的末尾进入(制作“abcdef”)。一切都很好。

但是,如果显示密码并输入一半(例如“abc”),并且用户点击切换按钮隐藏密码并继续输入,则新字符(例如“def”)将替换初始条目(制作“高清”)。因此,显示/隐藏切换不仅会显示或隐藏文本,还会在输入下一个字符时更改UITextField的行为(追加/清除并重新开始)。

为什么会这样?

2 个答案:

答案 0 :(得分:1)

纠正这是UITextField的正常行为,您可以使用以下方法解决此问题:

textField.clearsOnBeginEditing = NO;

或者在Swift中:

textField.clearsOnBeginEditing = false

但如果您使用安全文本作为密码,它将无效。

见其中一个答案:

Secure UITextField Answer

答案 1 :(得分:0)

你可以通过改变主意来实现你想要的效果。

您可以初始化NSString * pwd来存储用户的密码,当用户del或替换密码时,您更改pwd值,确保pwd始终等于用户输入的密码。

当用户点击切换按钮时,您会在文本字段中显示pwd值。