在iphone中自定义触摸跟踪

时间:2009-12-31 13:44:06

标签: iphone multi-touch

我不想使用iphone sdk中的任何正常触摸事件。

当用户触摸屏幕时,我想找到他触摸的位置以及他触摸的所有像素。有没有办法在iPhone上做到这一点?可能正在使用低级SDK。

我想要这样做,比如用手指在iphone上绘图应用程序。

2 个答案:

答案 0 :(得分:2)

没有低级API。 IIRC,触摸对象中的数据实际上由硬件返回。换句话说,这就是软件可以获得的所有数据。

在遥远的过去做了一些触摸UI实验,我可以告诉你,处理软件中的真实世界触摸要比初看起来要复杂得多。这跟追踪鼠标不一样。手指实际上是一个非常直率和不精确的指针仪器,在移动屏幕的范围内。手指大小,接触压力,接触面积,接触角度和接触一致性存在很大差异。需要进行大量处理才能将钝化的不精确性转化为API可以轻松使用的单个点或点集合。

即使您找到了从硬件中提取更多数据的方法,我也不会尝试重新发明轮子。如果您的触摸界面与其他应用程序的行为不同,如果没有别的,(戴上界面 - 纳粹帽子),当必须来回切换时,用户会感到困惑。

答案 1 :(得分:1)

触摸是一种相当不精确的手势,因此获取所包含的所有像素实际上是不可能的。但是,您可以获得触摸的粗略“中心”,并针对一组“触摸像素”推断其周围的区域。无需使用低级SDK,只需在UIView上覆盖-touchesBegan:withEvent:。