2009-12-31 184 views
0

我不想在iphone sdk中使用任何正常的触摸事件。iphone中的自定义触摸跟踪

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

我希望这样做的东西就像在iPhone上用手指绘制应用程序。

回答

1

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

2

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

在遥远的过去做过一些触摸UI实验后,我可以告诉你,处理软件中的真实世界触摸比你期望的要复杂得多。这不像跟踪一个鼠标。手指实际上是一个非常钝和不精确的指针仪器在移动屏幕的规模。手指大小,接触压力,接触面积,接触角度和接触的一致性有很大的变化。需要进行大量的处理才能将钝的不精确度转化为API可以轻松使用的单点或点集。

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

+0

我明白,触摸不是一个不精确的手势,但我的想法要求我得到触摸区域而不是一个点。可能是现在的API无法实现。 – Amal 2010-01-03 10:56:46