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