1

我想要做的是记录按下按钮的时间。所有这些时间都将存储在一个数组中。然后程序将遍历数组并查看时间值,然后在播放期间突出显示这些特定时间的按钮状态。

希望这是有道理的,最好的方法是什么?!提前致谢。

- - - - - - - - - 更多详情 - - - - - - - - -

我想到的第一件事是......'啊哈,时间戳',但随后查看文档,在该段落某处的时间戳页面的某个部分中,它指出以下内容:

....您不应使用它来确定事件发生的确切时间,而应将其与另一个加速事件的时间戳进行比较以确定事件之间经过的时间....

这不是很好..因为我假设在用户在记录期间实际按下按钮的确切时间回放突出显示按钮时它是不准确的。请让我知道我应该使用什么和做什么。

4

2 回答 2

3

-[UIEvent timestamp]属性将是触摸实际发生时间的最准确表示。如果您使用CFAbsoluteTimeGetCurrent()UNIXtime()函数,您将获得调用 moment 函数的当前时间,而不是事件实际发生的时间(这将是更早的某个时间)。

于 2009-06-15T03:11:34.633 回答
1

您可以使用自格林威治标准时间 2001 年 1 月 1 日 00:00:00 以来CFAbsoluteTimeGetCurrent()以秒数表示的当前时间(作为一个double值,因此会有小数秒)。

因此,您应该记录CFAbsoluteTimeGetCurrent()应用程序启动时的某个时间点的值,然后在每次按下按钮时记录其值。然后,通过从按下按钮的时间减去应用程序启动的时间,可以得出自应用程序启动以来按下按钮的秒数。然后,您可以通过获取该时间增量并将其添加到播放开始的时间来稍后播放按钮按下。

于 2009-06-13T15:34:22.430 回答