如果我长时间按退格键,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 将停止调用的主要内容,如果未能解决你的问题,请参考以下文章