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

发布于 2024-11-15 15:46:25 字数 224 浏览 4 评论 0原文

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

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

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

If I type a very long text in my UITextField, for example: 123456789012345678901234567890.

Now if I press the backspace and leave it pressed, then the shouldChangeCharactersInRange is called for some characters in the beginning.

But, then when the UITextField start getting cleared with a fast speed, the shouldChangeCharactersInRange stops getting called. Can anyone suggest me a solution.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

芯好空 2024-11-22 15:46:25

您可以为 UITextFieldTextDidChangeNotification 添加观察者,每当文本字段中的文本发生更改时就会发布该观察者。

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

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

You can add observer for the UITextFieldTextDidChangeNotification which will be posted whenever the text changes in text field.

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

In this case, yourMethod: method will always work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文