2012-11-07 2 views
3

UIWebView에 긴 톡 제스처를 추가했습니다. 그러나 긴 탭이 인식되기 전에 UIWebView이 표준 Tap 이벤트를 처리하기를 원합니다. (긴 탭에서 두 번의 제스처를 처리해야합니다 - 간단한 탭과 긴 탭). 이 작업을 수행하는 방법?UIWebView에서 긴 탭 제스처로 탭 이벤트를 만드는 방법은 무엇입니까?

나는 Tap 이벤트를 UIWebViewTouchBegin에 보내야한다고 생각합니다. 맞습니까?

+0

내가 함께 일을하고 싶지만있는 UIWebView 긴 탭에 단일 탭을 처리하지 않습니다. – Dmitry

+0

SingleTapGestureRecognizer 및 DoubleTapGestureRecognizer가 UIWebView에서 전혀 작동하지 않습니다! – Dmitry

답변

2

올바른 코드 :

- (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; 
} 
1

이이 때 2 제스처 동시 작업이라고 볼

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIGestureRecognizerDelegate_Protocol/Reference/Reference.html

이 섹션 UIGestureRecognizerDelegate를 참조하십시오.

gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:

+0

감사합니다. 그러나 나는이 메소드에'return true; '를 추가했으며 긴 탭 만 여전히 작동합니다. 내가 뭘해야하지? – Dmitry

+0

이 방법으로 싱글 터치 이벤트가 인식되는지 확인하십시오. 위의 메소드에서 NSLog(); 문을 작성하십시오. – priyanka

+0

아무 탭에서나 실행되지 않습니다 (길게 탭하고 로그인 탭). '- (BOOL) gestureRecognizer : (UIGestureRecognizer *) gestureRecognizer는 (UIGestureRecognizer *) otherGestureRecognizer와 활성화 된'UIGestureRecognizerDelegate' 프로토콜을 동시에 인식해야합니다. – Dmitry

관련 문제