可能重复:
检测虚拟键盘上的按键
我想知道是否可以在 iOS 应用程序开发中捕获准确的键盘按键时间和释放时间?
例如,假设我输入“ Hello
”。我想知道H
-Key 按下时间和释放时间,然后E
等L
。我认为答案会以微秒为单位,但这就是我想要的。
任何帮助都会非常有用。
可能重复:
检测虚拟键盘上的按键
我想知道是否可以在 iOS 应用程序开发中捕获准确的键盘按键时间和释放时间?
例如,假设我输入“ Hello
”。我想知道H
-Key 按下时间和释放时间,然后E
等L
。我认为答案会以微秒为单位,但这就是我想要的。
任何帮助都会非常有用。
您可以使用-(BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
(来自 UITextFieldDelegate)截取 UITextField 中输入的字符并在那里记录时间戳。
这至少为您提供了发布时间。按下时间可能要困难得多,特别是当您考虑必须按下更长的键才能获得字符的重音版本时。
您将需要制作自己的键盘,Touch Down
并Touch Up Inside
在您希望获得此信息的按钮上添加事件。
一旦您拥有自己的键盘,只需存储NSDate
按下按钮的时间,然后在释放按钮时从 NSDate 中减去它以获得经过的时间。时间更有可能以毫秒(而不是微秒)为单位,因为运行循环甚至没有那么快。
我在 Github 上有一个开源项目(MIT 许可证),它创建了一个自定义数字键盘(您必须将自己的事件添加到按钮),这应该使实现键盘变得非常容易,这里: https://github。 com/lnafziger/数字键盘
如果您也想在此键盘上使用字母(不需要更改代码),您可以添加更多/不同的按钮。