0

我正在编写一个应用程序,在该应用程序中,获得有关用户何时点击UIView.

UIEvent传递给的只有几秒钟的touchesBegan:计时数据,这还不够精确。

因此,从逻辑上讲,下一步似乎是记录touchesBegan:被称为使用mach_absolute_time()或类似的时间。这种方法在大多数情况下效果很好,但是如果系统正在做一些非常紧张的工作(尤其是在主线程上做 UI 工作),它看起来就像touchesBegan在循环中被推回了一点——它仍然会触发,但迟到了。

我希望可能有一个较低级别的解决方案,我可以在信号链中的某个点使用它来获取更精确的数据(至少在毫秒而不是秒的数量级上)。

当然,我也会尝试让我的 UI 线程尽可能高效地运行以避免这些延迟,但尤其是在旧设备上,时间上的那些小问题似乎是不可避免的。

4

1 回答 1

1

UIEvent的时间戳是一个 NSTimeInterval,它是一种浮点类型,整数对应于整秒……但小数部分包括亚毫秒精度。你确定它对你来说不够精确吗?

于 2012-11-19T07:25:46.047 回答