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

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

 

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

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

 

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

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