2016-12-28 128 views
1

我有一个用户界面,其中包括一个密码输入栏和显示/隐藏按钮。测试人员指出了以下不一致的行为。密码textfield得到清除切换显示/隐藏密码按钮

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

这是怎么发生的?

+0

请编写您使用的代码。 – SNarula

+0

请分享它的一些代码 –

+0

有没有必要看看代码来实现发生什么[Dheeraj D](http://stackoverflow.com/a/41359943/2305521)说。 – fpg1503

回答

1

正确的它是UITextField正常行为,你可以在此使用修复:

textField.clearsOnBeginEditing = NO; 

还是在斯威夫特:

textField.clearsOnBeginEditing = false 

但是如果你使用安全的文本密码将无法正常工作。

见一个答案:

Secure UITextField Answer

0

,你可以实现你想要的效果改变了主意。

你可以初始化一个NSString * pwd来存储用户的密码,当用户删除或替换密码时,你改变你的pwd值,确保你的pwd总是等于用户输入的密码。

当用户单击切换按钮时,在文本字段上显示pwd值。