Objective c 有没有一种方法可以为UIView ToucheSStart获取更精确的计时数据?
我正在编写一个应用程序,在该应用程序中,当用户点击Objective c 有没有一种方法可以为UIView ToucheSStart获取更精确的计时数据?,objective-c,ios,uiview,touchesbegan,Objective C,Ios,Uiview,Touchesbegan,我正在编写一个应用程序,在该应用程序中,当用户点击UIView时,获得非常精确的数据将非常有用 传递给touchsbegind:的UIEvent只有以秒为单位的计时数据,这几乎不够精确 因此,从逻辑上讲,下一步似乎是记录触摸开始的时间:使用mach\u absolute\u time()或类似方法调用。这种方法在大多数情况下都能很好地工作,但是如果系统正在做一些非常紧张的工作(特别是在主线程上做UI工作),它看起来像是touchsbegind在循环中被向后推了一点——它仍然会启动,但很晚才启动
UIView
时,获得非常精确的数据将非常有用
传递给touchsbegind:
的UIEvent
只有以秒为单位的计时数据,这几乎不够精确
因此,从逻辑上讲,下一步似乎是记录触摸开始的时间:
使用mach\u absolute\u time()
或类似方法调用。这种方法在大多数情况下都能很好地工作,但是如果系统正在做一些非常紧张的工作(特别是在主线程上做UI工作),它看起来像是touchsbegind
在循环中被向后推了一点——它仍然会启动,但很晚才启动
我希望有一个较低级别的解决方案,我可以在信号链的某个点使用它来获取更精确的数据(至少是毫秒级而不是秒级)
当然,我也会尽量让UI线程高效运行,以避免这些延迟,但特别是在较旧的设备上,这些时间上的小问题似乎是不可避免的,这是一种浮点类型,其整数对应于整秒。。。但分数部分包括亚毫秒精度。你确定对你来说不够精确吗?啊,太好了。老实说,我只是阅读了说明系统正常运行时间(以秒为单位)的文档,甚至没有考虑其中的浮点部分!