我在UIWebView
上添加了長按手勢。但我希望UIWebView
可以在識別我的長按之前處理標準的點擊事件。 (兩個手勢應該在長按 - 一個簡單的水龍頭和我的龍頭處理)。這個怎麼做?如何在UIWebView上的長按手勢創建點擊事件?
我認爲需要將Tap事件發送到UIWebView
,TouchBegin
。這是對的嗎?
我在UIWebView
上添加了長按手勢。但我希望UIWebView
可以在識別我的長按之前處理標準的點擊事件。 (兩個手勢應該在長按 - 一個簡單的水龍頭和我的龍頭處理)。這個怎麼做?如何在UIWebView上的長按手勢創建點擊事件?
我認爲需要將Tap事件發送到UIWebView
,TouchBegin
。這是對的嗎?
正確的代碼:
- (void)viewDidLoad {
UILongPressGestureRecognizer* gesture = [[[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPress:)] autorelease];
gesture.delegate = self;
[myWebView addGestureRecognizer:gesture];
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}
請參見本節UIGestureRecognizerDelegate
你發現這個叫2時同時姿態工作。
gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:
謝謝!但是我已經用'return true;'添加了這個方法,只有長時間的點擊仍然有效。我應該做什麼呢? – Dmitry
請檢查此方法單點觸摸事件是否識別它們。在上面的方法中寫'NSLog();'語句。 – priyanka
它不會在任何水龍頭(長水龍頭和燈杆水龍頭)上運行。我曾經使用過:' - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer應該同時識別帶有GestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer'並激活'UIGestureRecognizerDelegate'協議。 – Dmitry
我想他們一起工作,但一個UIWebView不上長按處理單一的水龍頭。 – Dmitry
SingleTapGestureRecognizer和DoubleTapGestureRecognizer根本不能在UIWebView上工作! – Dmitry