ios UIWebView singleTap 單擊事件的坑
來源:程序員人生 發布時間:2015-01-26 09:07:04 閱讀次數:5371次
項目需要使用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的選擇,切記不可貪杯,只實現這1個方法便可,他們之間有沖突關系。這也是坑所在
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈