0

I don't want to use any of the normal touch events in the iphone sdk.

When an user touches the screen I want to find where he touched and all of pixels he touches. Is there a way to do it in iphone ? may be using a low level SDK.

i want this to do it for some thing like a drawing app with finger on iphone.

4

2 回答 2

2

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

在很久以前做过一些触摸 UI 实验后,我可以告诉你,在软件中处理现实世界的触摸比你乍一看要复杂得多。这不像跟踪鼠标。手指实际上是一个非常钝且不精确的指向工具,在美孚屏幕的规模上。手指的大小、接触压力、接触面积、接触角度和接触的一致性有很大的变化。需要大量处理才能将这种生硬的不精确性转化为 API 可以轻松使用的单个点或点集合。

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

于 2009-12-31T16:48:05.110 回答
1

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

于 2009-12-31T13:57:24.213 回答