在.h中,加入协议UIGestureRecognizerDelegate,然后.m文件里加入以下码:

1
2
3
4
5
6
UITapGestureRecognizer* singleTap = [[UITapGestureRecognizer alloc] initWithTarget: self action: @selector (handleSingleTap:)];
singleTap.delegate= self ;
singleTap.cancelsTouchesInView = NO ;
       
//这个可以加到任何控件上,比如你只想响应WebView,我正好填满整个屏幕
[ self .webView addGestureRecognizer:singleTap];

 

然后有一个关键的方法要实现,如果不实现这个方法,点击UIWebView无效果。

1
2
3
- ( BOOL )gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
     return YES ;
}

 

最后在响应的方法中,处理您的逻辑!

1
2
3
4
-( void )handleSingleTap:(UITapGestureRecognizer *)sender{
     CGPoint point = [sender locationInView: self .view];
     NSLog (@ "handleSingleTap!pointx:%f,y:%f" ,point.x,point.y);
}

 

好了,得到启发了吧,也能获取到坐标了。不过如果你要直接判断手势方向之类的,比如向左或向右轻扫,可以使用UISwipeGestureRecognizer类。


http://my.oschina.net/junwong/blog/51641