2010-07-22 3 views
2

- (void) touchesBegan : (NSSet *) withEvent : (UIEvent *) 이벤트를 { NSLog (@ "touches"); }touchesBegan 응답하지 않음

위의 메서드는 내 응용 프로그램에서 호출하지 않습니다. 내 응용 프로그램 설명은 아래와 같습니다.

나는 ContentViewController을로드하는 MainViewController을 가지고 있습니다. ContentViewController에는 pdf 파일을로드하는 webview가 있습니다.

MainViewController's의 탭을 듣는 방법.

감사합니다.

+0

이 답변이 도움이됩니다 : HTTP : //stackoverflow.com/a/7808238/790198 – Nianliang

답변

3

여기서 100 % 정확하지는 않지만,보기 컨트롤러 (또는 기본보기)에 -touchesBegan:withEvent:을 배치하면보기 계층에서 일부 하위보기로 처리되지 않은 터치 만 표시됩니다. 모든 접촉을 차단하기 위해 당신의 컨트롤러보기를 UIView 하위를 사용하고있는 hitTest:withEvent: 방법 오버라이드 (override) : iOS 용 "가이드를 처리하는 이벤트"에서 볼 Event delivery 섹션 자세한 내용은

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { 
    touchedView = [super hitTest:point withEvent:event]; 
    NSSet* touches = [event allTouches]; 
    // handle touches if you need 
    return touchedView; 
} 

+1

Apple docs의 이벤트 처리 설명에 대한 링크가있는 답변이 업데이트되었습니다. 내 대답을 확인하는 것으로 보입니다 – Vladimir

+0

나는 이것을했습니다. 그 일. 하지만 이제 UIWebView가 작동을 멈췄습니다. – TechBee

+1

정확히 작동하지 않는 것은 무엇입니까? hitTest 메서드에서 올바른 뷰를 반환합니까? – Vladimir

관련 문제