ios UIWebView singleTap 單擊事件的坑
來源:程序員人生 發(fā)布時間:2015-01-26 09:07:04 閱讀次數(shù):5377次
項目需要使用UWebView實現(xiàn)預覽ppt,pdf,word,excel的功能,因而選擇是用UiWebView來實現(xiàn),很快實現(xiàn)打開文件的核心功能,記在竊喜時候,單擊和滑動隱藏navigationbar,遇到了問題,開始是單擊事件,沒法捕獲,后來是單擊事件捕獲后,長按事件又丟失,各種google,github尋覓解決方案,各種答案各種坑。最后硬是自己給實驗出來了正確的解決方法;
貼出方法做個記錄:
//singleTap webView
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(changDisplayTopBarAndBottomBar)];
singleTap.delegate = self;
[self.webview addGestureRecognizer:singleTap];
vc里邊實現(xiàn)UIGestureRecognizerDelegate協(xié)議后,正常添加單擊事件,只是這樣做 UIWebView 單擊事件其實不能捕獲,最重要的是下面這個delegate方法
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
return YES;
}
字面翻譯就是『是不是同時辨認其他的手勢』,UIGestureRecognizerDelegate還有其他的幾個代碼事件,看方法名可以大致猜出來是響應失敗的處理,都是寫Yes or NO的選擇,切記不可貪杯,只實現(xiàn)這1個方法便可,他們之間有沖突關系。這也是坑所在
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈