在UIWebView中使用UIGestureRecognizer

Don*_*son 3 iphone cocoa-touch

以前我使用点击检测窗口技术来检测UIWebView中的点击,但现在我尝试使用手势识别器.以下代码位于视图控制器的viewDidLoad方法中,该方法具有单个UIWebView.这段代码编译得很好,但是从不调用handleTap方法.这似乎应该很简单.

// Configure a gesture recognizer to detect taps in the web view
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap)];
[self.myWebView addGestureRecognizer:singleTap];    
[singleTap release];

[super viewDidLoad];
Run Code Online (Sandbox Code Playgroud)

lak*_*kim 6

将视图控制器设置为识别器委托:

UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap)];
recognizer.delegate = self;
[self.myWebView addGestureRecognizer:recognizer];
Run Code Online (Sandbox Code Playgroud)

并启用同步手势识别(因为UIWebView可能会设置一些识别器本身,您的跳过):

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
    return YES;
}
Run Code Online (Sandbox Code Playgroud)