我正在编写一个应用程序,其中有关于用户何时点击UIView
的非常精确的数据会很有用。
传递给UIEvent
的{{1}}只有几秒钟的时间数据,这不够精确。
因此,从逻辑上讲,下一步似乎是记录使用touchesBegan:
或类似内容调用touchesBegan:
的时间。这种方法在大多数情况下运行良好,但是如果系统正在做一些非常紧张的工作(特别是在主要线程上做UI工作),看起来mach_absolute_time()
会在循环中被推回一点 - 它仍然火了,但是很晚。
我希望可能有一个较低级别的解决方案,我可以在信号链的某个点使用它来获取更精确的数据(至少在几毫秒而不是几秒钟的数量级)。
当然,我也会尽量保持我的UI线程尽可能高效地运行以避免这些延迟,但特别是在旧设备上,似乎时间上的那些小问题有些不可避免。
答案 0 :(得分:1)
UIEvent
的时间戳是一个NSTimeInterval,它是一个浮点类型,整数对应于整秒......但小数部分包括亚毫秒精度。你确定它对你来说不够精确吗?