iOS触摸事件

时间:2010-11-26 20:41:21

标签: iphone touch-event

好奇。当用户触摸iPhone应用程序中的屏幕时,操作系统如何处理触摸事件?当前代码块(函数/方法)是否完成,然后处理触摸事件?或者OS是否会中断可能正在运行的代码以处理触摸事件?

谢谢!

Sunny

2 个答案:

答案 0 :(得分:5)

触摸屏幕会导致操作系统为您的应用生成触摸事件。所有事件都在主线程(运行代码的同一线程)中处理,它实现为循环。操作系统不会中断您的代码来处理事件;所有事件都在事件循环的下一次传递中处理。

答案 1 :(得分:0)

如果当前函数/方法在主线程中运行,则在当前例程返回(运行循环)之前,不会调用任何触摸事件处理程序。如果当前函数/方法未在主UI线程中运行,则可以中断代码以运行触摸事件处理程序。

在当前设备上,触摸事件似乎被量化为60 Hz帧速率,大约每16毫秒,因此物理触摸可能不会作为事件发布,直到该时间可能已经过去,并且没有处理程序将是直到事件发布后才会调用。