2009-06-13 10 views
1

私がしたいことは、ボタンが押された時間を記録することです。これらの時間はすべて配列に格納されます。プログラムは配列を実行し、時間値を確認し、再生中の特定の時刻にボタンの状態を強調表示します。イベントが発生した正確な時刻

うまくいけば、これは理にかなっている、これを行うには最高の方法は何ですか?前もって感謝します。

------------------詳細------------------

最初のこと私の心の上に現れたのは...「ああ、タイムスタンプ」でしたが、ドキュメンテーションを見て、段落のどこかのタイムスタンプページの特定のセクションで、次のように書いています:

....イベントが発生した正確な時刻を判断するために使用するのではなく、別の加速イベントのタイムスタンプと比較してイベント間の経過時間を判断する必要があります。

私はそれを仮定してwiユーザが記録中に実際にそれらを押した正確な時刻にボタンを強調表示する再生に関しては正確ではない。 私は何をして、何をすべきか教えてください。

答えて

1

CFAbsoluteTimeGetCurrent()を使用すると、現在の時刻を2001年1月1日00:00:00 GMTから秒数(doubleの値であるため、秒単位で表示される)にすることができます。

したがって、アプリ起動時のある時点でCFAbsoluteTimeGetCurrent()という値を記録し、ボタンを押すたびにその値を記録する必要があります。次に、ボタンが押された時からアプリが起動した時間を引くことで、アプリが起動してからボタンが押された秒数がわかります。その後、その時間デルタを取り、再生が開始された時刻に追加することで、後でボタンを押すことができます。

+0

これは素晴らしいと実行可能なように聞こえる。 このメソッドを使用して、再生中にボタンが適切なタイミングでハイライトされているかどうかを確認します。彼らは音を誘発するので、もし彼らが打ち負かされていれば私は知るだろう。非常に速い応答に感謝します。 また、私はあなたに直接連絡できる方法はありますか?誰かのユーザー名をクリックすると、メッセージングシステムが見つからないようです。私が誰かを更新したい、または特定のものを求めていたら、それは助けになるでしょう。 – Pavan

3

-[UIEvent timestamp]プロパティは、タッチが実際に発生したときの最も正確な表現になります。 CFAbsoluteTimeGetCurrent()またはUNIX time()関数を使用すると、関数が呼び出される現在の時刻が取得されます。イベントが実際に発生したときには、いつか呼び出されます(これはいつか先になります)。

関連する問題