iOS开发

iOS奇淫技巧 —— 解决UIWebView右滑返回被H5拦截的

2017-03-10  本文已影响1181人  lfb_CD

项目简单介绍:
我们的项目在 BaseViewController 中自定义了一个 UINavigationBar
并通过设置代理的方式控制是否支持右滑返回

- (void)viewDidAppear:(BOOL)animated{
  self.navigationController.interactivePopGestureRecognizer.delegate = self;
}
//默认所有页面支持右滑返回
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {
    return true;
}

个别需要禁止右滑返回的只需要重写代理方法

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {
    return false;
}

问题

APP中有个 UIWebView 出现一个奇怪现象,H5页面的列表区域无法右滑返回了,其他区域能正常

IMG_0338.JPG

猜测是前端开发人员将右滑事件拦截了
与其让前端人员检测代码,不如我们原生自己解决。

这个解决办法是我晚上睡不着的时候想到的(我简直就是天才):

UIWebView 左侧添加一个竖条状的透明 UIView,使得我们从边缘开始的右滑操作都能有效的被系统截获。
虽然能解决被拦截的问题,但是并没有从根源解决问题,,所以属于奇淫技巧的一种。。

IMG_0341.JPG
上一篇 下一篇

猜你喜欢

热点阅读