按下 iPad 键盘中的撤消键时,未调用 UITextFieldDelegate
iPad键盘上有一个“撤消”键。
我有一个 UITextField *textField 其中, textField.placeholder = @"输入";
假设textField不为空(textField.text = @"Something";), 当我触摸文本字段时,它变成了firstResponder,
1,退格文本字段中的所有字符串(显示占位符) 2、输入其他内容 3、再次退格所有内容(显示占位符) 4、按“撤消”键
结果: textField.placeholder 显示为与它重叠的 textField.text。 另外,UITextFieldDelegate(shouldChangeCharactersInRange 和 UITextFieldTextDidChangeNotification)没有被调用。
有人面临同样的问题吗? 这是 iOS 的一个 bug 吗?
There is this "undo" key on the iPad keyboard.
I have a UITextField *textField where,
textField.placeholder = @"Input";
Assumed that textField is not empty (textField.text = @"Something";),
as I touched the textField and it became firstResponder,
1, Backspace all the string in textField (placeholder is shown)
2, Type something else
3, Backspace everything again (placeholder is shown)
4, press "undo" key
Result:
The textField.placeholder is shown with textField.text overlapping it.
Plus, the UITextFieldDelegate (shouldChangeCharactersInRange and UITextFieldTextDidChangeNotification) is not being called.
Is anyone facing the same problem?
Is it somehow an iOS bug?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
以下是一些需要遵循的步骤,只需确认您是否只这样做了。
因此,当您开始编辑时,将调用第一个方法。之后,对于文本字段中的每次更新,都会调用第二个方法。
使用断点将帮助您捕获确切的场景。
Here are some steps to follow, just confirm whether you have done in this way only.
So when you start editing, first method gets called. And after that for each and every update in textfield second method gets called.
Use breakpoints it will help you to catch the exact scenario.