最热的触摸方向

时间:2009-10-05 12:16:36

标签: iphone

我正在开发一个iphone的应用程序,它将一些信息加载到webview.I使用hittest代表来触摸,现在我需要找到触摸移动的方向。有什么方法可以找到这个...提前谢谢

2 个答案:

答案 0 :(得分:1)

我不确定“使用最热门代表”是什么意思,但我认为你需要做的就是赶上像@MrMage所说的那样。但是,您不需要将UIWebView子类化为此。

UIResponder公开以下内容:

– touchesBegan:withEvent:
– touchesMoved:withEvent:
– touchesEnded:withEvent:
– touchesCancelled:withEvent:

您应该能够拥有自己的UIView子类,作为界面构建器中UIWebView的超级视图。听取这些事件,并确认它们是为您而举的,听起来您熟悉Interface Builder,所以我不会讨论它。

“找到触摸运动的方向”有点模糊。我猜你要检测滑动是否从起点到终点“向上”或“向下”或“向左”或“向右”。通过比较touchesBegan touch和touchesEnded触摸坐标的触摸,您可以非常轻松地完成此操作。

这样的事情应该有效:

if ((endTouch.x - startTouch.x) > 0) { NSLog(@"swipe right"); }
else if ((endTouch.x - startTouch.x) < 0) { NSLog(@"swipe left"); }

请记住,对于任何给定的触摸,都会创建一个UITouch实例,并且该内存地址不会更改。通过这种方式,您可以安全地比较UITouch的地址,以确保您跟踪相同的地址,这在有多个触摸时非常有用(例如您在触摸事件中获得的NSSet)。 Event Handling Guide是一个很好的资源。

答案 1 :(得分:-1)

您可以尝试继承UIWebView并覆盖touchesBegantouchesMoved等方法。