如果我长时间按退格键,UITextField shouldChangeCharactersInRange 将停止调用

Posted

技术标签:

【中文标题】如果我长时间按退格键,UITextField shouldChangeCharactersInRange 将停止调用【英文标题】:UITextField shouldChangeCharactersInRange stops getting called if I press backspace for a long time 【发布时间】:2011-06-15 09:47:23 【问题描述】:

如果我在 UITextField 中输入很长的文本,例如:123456789012345678901234567890。

现在,如果我按下退格键并保持按下状态,那么会在开始时为某些字符调用 shouldChangeCharactersInRange。

但是,当 UITextField 开始快速清除时, shouldChangeCharactersInRange 停止被调用。谁能给我一个解决方案。

【问题讨论】:

【参考方案1】:

您可以为 UITextFieldTextDidChangeNotification 添加观察者,该观察者将在文本字段中的文本更改时发布。

[[NSNotificationCenter defaultCenter] 
     addObserver:self 
     selector:@selector(yourMethod:)
     name:UITextFieldTextDidChangeNotification 
     object:yourTextField];

在这种情况下,yourMethod: 方法将始终有效。

【讨论】:

以上是关于如果我长时间按退格键,UITextField shouldChangeCharactersInRange 将停止调用的主要内容,如果未能解决你的问题,请参考以下文章

iOS 6 UITextField Secure - 如何检测退格清除所有字符?

HBase的shell命令行界面按退格键(Backspace)无法删除问题

解决linux下按退格键出现 ^? 的问题

关于xshell连接limux界面按退格键不正常的问题

如何在UITextView中以编程方式移动光标?

UITextfield 更改键盘