項目簡單介紹:
我們的項目在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