【问题标题】:Password textfield gets cleared on toggling show/hide password button密码文本字段在切换显示/隐藏密码按钮时被清除
【发布时间】:2016-12-28 09:58:06
【问题描述】:

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

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

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

为什么会这样?

【问题讨论】:

  • 请写下你正在使用的代码。
  • 请分享一些代码
  • 正如Dheeraj D 所说,无需查看代码即可了解正在发生的事情。

标签: ios uikit


【解决方案1】:

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

textField.clearsOnBeginEditing = NO;

或者在 Swift 中:

textField.clearsOnBeginEditing = false

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

查看其中一个答案:

Secure UITextField Answer

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2017-09-09
      • 2022-10-24
      • 1970-01-01
      • 2015-12-26
      • 2020-12-29
      • 2018-09-03
      • 2018-12-12
      • 1970-01-01
      • 2020-09-23
      相关资源
      最近更新 更多