ios UIWebView singleTap 单击事件的坑

项目需要使用UWebView实现预览ppt,pdf,word,excel的功能,于是选择是用UiWebView来实现,很快实现打开文件的核心功能,记在窃喜时候,单击和滑动隐藏navigationbar,遇到了问题,开始是单击事件,无法捕获,后来是单击事件捕获后,长按事件又丢失,各种google,github寻找解决方案,各种答案各种坑。最后硬是自己给实验出来了正确的解决方法;

贴出方法做个记录:

//singleTap webView
    UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(changDisplayTopBarAndBottomBar)];
    singleTap.delegate = self;
    [self.webview addGestureRecognizer:singleTap];
 vc里边实现UIGestureRecognizerDelegate协议后,正常添加单击事件,只是这样做 UIWebView 单击事件并不能捕获,最重要的是下面这个delegate方法

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


字面翻译就是『是否同时识别其他的手势』,UIGestureRecognizerDelegate还有其他的几个代码事件,看方法名可以大致猜出来是响应失败的处理,都是写Yes or NO的选择,切记不可贪杯,只实现这一个方法即可,他们之间有冲突关系。这也是坑所在

你可能感兴趣的:(ios,学习)