重複の可能性:
仮想キーボードでのキー押下の検出
iOS アプリケーション開発で、キーボードのキーを押した時間と離した時間を正確にキャプチャすることは可能ですか?
たとえば、「Hello
」と入力するとします。H
-Key を押した時間と離した時間、それE
からなどを知りたいのL
ですが、答えはマイクロ秒単位になると思いますが、それが私が望んでいることです。
どんな助けでも本当に役に立ちます。
重複の可能性:
仮想キーボードでのキー押下の検出
iOS アプリケーション開発で、キーボードのキーを押した時間と離した時間を正確にキャプチャすることは可能ですか?
たとえば、「Hello
」と入力するとします。H
-Key を押した時間と離した時間、それE
からなどを知りたいのL
ですが、答えはマイクロ秒単位になると思いますが、それが私が望んでいることです。
どんな助けでも本当に役に立ちます。
(UITextFieldDelegate から) を使用-(BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
して、UITextField で入力された文字をインターセプトし、そこにタイムスタンプを記録できます。
これにより、少なくともリリース時間が得られます。特にアクセントのあるバージョンの文字に到達するために長く押さなければならないキーを考えると、押す時間はおそらくはるかに困難です.
独自のキーボードを作成し、この情報を取得するボタンの イベントを追加する必要があります。Touch Down
Touch Up Inside
独自のキーボードを作成したらNSDate
、ボタンが押されたときに を保存し、ボタンが離されたときにそれを NSDate から差し引いて、経過時間を取得するだけです。実行ループはそれほど速くないため、時間は (マイクロ秒ではなく) ミリ秒単位である可能性がはるかに高くなります。
Github にオープンソース プロジェクト (MIT ライセンス) があり、カスタム数値キーボード (ボタンに独自のイベントを追加する必要があります) を作成します。これにより、キーボードの実装が簡単になり ます。 com/lnafziger/Numberpad
このキーボードで文字も使用したい場合は、別のボタンを追加できます (コードの変更は必要ありません)。