在 UIWebview 上,如何检测触摸?
On UIWebview, how can I detect a touch?
但不是当用户单击某个 URL 或触摸控件时.
But not when user clicks some URL or touching a control.
可以处理吗?
使用 UIGestureRecognizerDelegate 方法:
Use UIGestureRecognizerDelegate method:
在声明文件(即您的 .h 文件)中添加 UIGestureRecognizerDelegate
Add UIGestureRecognizerDelegate in declaration file (i.e. your .h file)
第一步:设置gestureRecognizer的代理:(在.m文件viewDidLoad中)
Step 1: Just set the delegate of gestureRecognizer: (in .m file viewDidLoad)
UITapGestureRecognizer *webViewTapped = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapAction:)];
webViewTapped.numberOfTapsRequired = 1;
webViewTapped.delegate = self;
[offScreenWebView addGestureRecognizer:webViewTapped];
[webViewTapped release];
第 2 步:覆盖此函数:(在 .m 文件中)
Step 2: Override this function: (in .m file)
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}
第 3 步:现在实现 tapAction 函数:
Step 3: Now implement the tapAction function:
- (void)tapAction:(UITapGestureRecognizer *)sender
{
NSLog(@"touched");
// Get the specific point that was touched
CGPoint point = [sender locationInView:self.view];
}
这篇关于如何检测 UIWebView 上的触摸的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!