Objective c 使用包含UIWebView和UIImage的UIGestureRecognitor在视图中隐藏导航栏和工具栏

Objective c 使用包含UIWebView和UIImage的UIGestureRecognitor在视图中隐藏导航栏和工具栏,objective-c,ios,uiwebview,uigesturerecognizer,Objective C,Ios,Uiwebview,Uigesturerecognizer,我正在使用UIImageView、2xUIWebView创建UIViewController。 我试图用UIApgestureRecognitizer隐藏UINavigationBar和UIToolBar,这没有问题,但当我在ViewController UIWebView中添加时,它停止工作。在UIWebView youtube播放器中,我有播放youtube视频的代码。当我在白色区域或UIImageView中触摸时,手势识别器工作,但当我触摸UIWebView时,什么也没发生。请帮我修一下

我正在使用UIImageView、2xUIWebView创建UIViewController。


我试图用UIApgestureRecognitizer隐藏UINavigationBar和UIToolBar,这没有问题,但当我在ViewController UIWebView中添加时,它停止工作。在UIWebView youtube播放器中,我有播放youtube视频的代码。当我在白色区域或UIImageView中触摸时,手势识别器工作,但当我触摸UIWebView时,什么也没发生。请帮我修一下。如果您将手势识别器添加到父视图中,而不是错误地添加,则感谢您。您应该将其附加到webView

[self.webView addGestureRecognizer:singleFingerTap];
而不是

[self.view addGestureRecognizer:singleFingerTap];

UIWebView由一些子视图组成,并且这些子视图已经添加了一些手势识别器,因此如果您只是将手势识别器添加到UIWebView,它将不会被处理,因为视图树中更深的UIView将首先处理手势。要同时处理新添加的手势识别器和内置手势识别器,应采用UIgestureRecognitzerDelegate协议

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    return YES;
}

yourTapRecognizer.delegate = self; //add this line with you UIGestureRecognizer alloc/init

有关详细信息,请参阅本博客:

请提供更多信息。手势识别器连接到哪个对象?此外,UIWebView文档警告不要将其用作UIScrollView子视图,因为触摸事件可能会出现异常。在这种情况下也可能发生类似的事情,因为UIWebView不喜欢其他对象干扰其触摸事件。