检查UIWebView上Touch的最简单的方法

要求检测UIWebView上有touch动作即可。我的方法是使用UITapGestureRecognizer。关键的地方有两点,请看我的代码(我的代码是在一个UIViewController中): 
 UITapGestureRecognizer* singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
    [self.view addGestureRecognizer:singleTap];
    singleTap.
delegate = self;
    singleTap.cancelsTouchesInView 
= NO;

    [singleTap release];  

第三行是第一个关键的地方,就是必须设置UITapGuestureRecognizer的delegate(一般我们直接使用initWithTarget,无需设置其delegate)。

第二个关键的地方是在下列delegate方法return YES

 

 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer

{
    
return YES;
}

做到这两点,你的UIWebView就可以响应touch事件了,你可以使用不同的UIGestureRecognizer来满足你不同的要求等。(handleSingleTap方法请自行补上)。 

 

如果自己定义点击次数来定义自己的方法的话:

就写:

 - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer{

    NSLog(@"%d",[gestureRecognizer numberOfTouches]);
    
return NO;
}

 根据自己的需求来设置,同时 要记录时间差,判断单击还是双击。

 

 

 

 

posted @ 2011-04-29 12:36  林强  阅读(1163)  评论(0编辑  收藏  举报