原来我自定义过 UITextView,然后将捕获 touchesBegan,touchesMoved 和 touchesEnded
的事件后交给父层去处理,这样就可以
UITextView 上进行手势翻页等处理,今天想要故伎
重演在
UIWebView 上,结果失败了。后来用了一种最最简单的办法实现了。
你猜对了,是 UITapGestureRecognizer,贴上代码。
在 UIViewController 中,加入协议 UIGestureRecognizerDelegate,然后.m 文件里加入以下
代码:
1
UITapGestureRecognizer*
singleTap
=
[[UITapGestureRecognizer
alloc]
initWithTarget:self action:@selector(handleSingleTap:)];
2
[self.view addGestureRecognizer:singleTap]; //这个可以加到任何控件上,比如你只想
响应
WebView,我正好填满整个屏幕
3
singleTap.delegate = self;
4
singleTap.cancelsTouchesInView = NO;
5
[singleTap release];
然后有一个关键的,要实现一个方法:
6
-
(BOOL)gestureRecognizer:(UIGestureRecognizer
*)gestureRecognizer
shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer
*)otherGestureRecognizer
7
{
8
return YES;
9
}
最后,响应的方法中,可以获取点击的坐标哦!
10
-(void)handleSingleTap:(UITapGestureRecognizer *)sender{
11
CGPoint point = [sender locationInView:self.view];
12
NSLog(@"handleSingleTap!pointx:%f,y:%f",point.x,point.y);
13 }