UIWebView Touch

来源:互联网 发布:台湾erp软件 编辑:程序博客网 时间:2024/06/05 19:59
要求检测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;
}
复制代码

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


原创粉丝点击