项目简单介绍:
我们的项目在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页面的列表区域无法右滑返回了,其他区域能正常
猜测是前端开发人员将右滑事件拦截了
与其让前端人员检测代码,不如我们原生自己解决。
这个解决办法是我晚上睡不着的时候想到的(我简直就是天才):
在 UIWebView
左侧添加一个竖条状的透明 UIView
,使得我们从边缘开始的右滑操作都能有效的被系统截获。
虽然能解决被拦截的问题,但是并没有从根源解决问题,,所以属于奇淫技巧的一种。。