【问题标题】:iOS - Detect backspace in keyboard when UITextField is empty [duplicate]iOS - 当 UITextField 为空时检测键盘中的退格键[重复]
【发布时间】:2012-11-18 15:00:58
【问题描述】:

可能重复:
Detect backspace in UITextField

我想检测何时按下键盘上的退格键,即使 UITextField 为空。

我尝试使用ShouldChangeCharachtersInRange,但是当调用退格并且文本为空时它不会被调用。

我该如何解决这个问题?

【问题讨论】:

  • stackoverflow.com/questions/1977934/… 和此stackoverflow.com/questions/6818342/… 链接的可能副本为您提供所需的解决方案
  • 我试图理解这里的逻辑。如果该字段为空,则在按回时不会调用 shouldChangeCharactersInRange,因为没有任何字符要更改。
  • 我有一个填字游戏,其中每个方块都是一个文本字段。我想要的是当用户按下退格键时(当 TextField 为空时),焦点将转到它之前的 TextField。这就是为什么我需要检测它何时被调用
  • @user721577 使每个方格成为符合UIKeyInput 协议的UILabel 的自定义子类。然后,为canBecomeFirstResponder 返回truedeleteBackward 总是被调用,即使 hasText 返回 falsestackoverflow.com/a/6637821/242933

标签: ios uitextfield uitextfielddelegate


【解决方案1】:

您是否在 .h 文件中定义了 UITextview 的委托,或者只是在 .m 文件中将委托分配给 self 。比如 textfield.delegate = self.

【讨论】:

  • 我在 .h 中定义了一个 UITextFieldDlegate
  • func keyboardInputShouldDelete(_ textField: UITextField) -> Bool { return true }
猜你喜欢
  • 2010-12-30
  • 1970-01-01
  • 2011-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-06
  • 2011-12-15
  • 2016-09-23
相关资源
最近更新 更多