iOS键盘或按钮按钮按下和释放时间

时间:2013-02-03 15:42:12

标签: iphone

  

可能重复:
  Detect key press on virtual keyboard

我想知道是否有可能在iOS应用程序开发中捕获确切的键盘按键时间和发布时间?

例如,假设我输入“Hello”。我想知道H - 按键时间和发布时间,然后EL等。我认为答案将在几微秒内,但这就是我想要的。< / p>

任何帮助都非常有用。

2 个答案:

答案 0 :(得分:0)

您可以使用-(BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string(来自UITextFieldDelegate)拦截UITextField中的类型字符并记录其中的时间戳。

这至少可以为您提供发布时间。按下时间可能要困难得多,特别是当您考虑按键时需要按下更长时间才能获得重音版本的角色。

答案 1 :(得分:0)

需要制作自己的键盘,并在要获取此信息的按钮上添加Touch DownTouch Up Inside的事件。

一旦你拥有自己的键盘,只需按下按钮时存储NSDate,然后在释放时从NSDate中减去该键,以获得经过的时间。时间更可能是毫秒(而不是微秒),因为运行循环甚至没有那么快。

我在Github上有一个开源项目(MIT许可证),它可以创建一个自定义数字键盘(你必须将自己的事件添加到按钮中),这应该可以简化键盘的实现,这里:{{3 }}

如果您想在此键盘上使用字母(不需要更改代码),您可以添加更多/不同的按钮。