有没有办法为UIView touchesBegan获得更精确的计时数据?

时间:2012-11-19 07:15:04

标签: objective-c ios uiview touchesbegan

我正在编写一个应用程序,其中有关于用户何时点击UIView的非常精确的数据会很有用。

传递给UIEvent的{​​{1}}只有几秒钟的时间数据,这不够精确。

因此,从逻辑上讲,下一步似乎是记录使用touchesBegan:或类似内容调用touchesBegan:的时间。这种方法在大多数情况下运行良好,但是如果系统正在做一些非常紧张的工作(特别是在主要线程上做UI工作),看起来mach_absolute_time()会在循环中被推回一点 - 它仍然火了,但是很晚。

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

当然,我也会尽量保持我的UI线程尽可能高效地运行以避免这些延迟,但特别是在旧设备上,似乎时间上的那些小问题有些不可避免。

1 个答案:

答案 0 :(得分:1)

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