2009-07-21 2 views
1

내 iPhone 응용 프로그램에 대한 사용자의 스 와이프 이벤트를 캡처하고 싶습니다.UIwebview iPhone 개발에서 스 와이프 기능 -

사과마다 touchesMoved : withEvent :에서 쉽게 얻을 수 있습니다.

상단에는 탐색 바가 있고, 하단에는 툴바가 있고, 그 사이에는 uiwebView가있는 UIView가 있습니다.

이제 사용자가 스 와이프 할 때이 이벤트를 캡처하고 싶지만 UIwebView에 대한 사용자의 터치 이벤트를 가져올 수 없습니다.

내 viewcontroller에서 내 touchesMoved 이벤트가 있습니다.이 터치는 어디에서 작성해야합니까? 당신 만있는 touchesMoved, touchesStarted, touchesEnded을 덮어있는 UIWebView을, 서브 클래스, 메소드를 touchesCancelled 수

+1

기능에 대해 조금 더 말할 수 있습니까? 가지고 있고 무엇을하고 있지 않은가? 추측해야만한다면 컨트롤러에 터치를 등록 할 것을 기대하고 있습니다. 실제로 컨트롤러는 "손 대고있는"웹 뷰 자체입니다. – TahoeWolverine

+0

기본 이벤트 전달주기에서 뷰가 터치 (이동/시작/종료/취소됨)에 응답하지 않거나 다음 응답자로 전파하는 경우 뷰 컨트롤러는 터치를 등록합니다. 그러나이 경우에는 UIWebView가 이미이를 처리하므로보기 컨트롤러가 호출되지 않습니다. – drvdijk

답변

1

제발 도와주세요 .... 해당 방법에서 스 와이프 감지를 수행하고 통화가 스 와이프에 속해 있지 않으면 [슈퍼 ...]로 전화하도록합니다.

여기서 문제는 스 와이프 감지가 UIWebView의 기본 동작을 방해하지 않는다는 것입니다. 수퍼 클래스는 터치 시작, 이동, 끝 또는 취소시기도 알아야합니다. 이렇게하면 대리인에 대한 올바른 선택기를 수행 할 수 있습니다.

이러한 메서드를 덮어 쓰고 [super ...]를 호출하지 않거나 스 와이프가 아닌 경우에만 UIWebView 자체의 동작이 정의되지 않은 것 같습니다. 그래서 나는 당신이 당신 자신의 구현에서 항상 [super ...]라고 부름을 언급했다.

편집 : 그래서 덜 괄호와 큰 괄호 사이에 문자열을 넣는 것을 좋아하지 않았습니다. 그래서 위의, 내가 언급 한 곳에서 [super ...], 터치를 채우십시오. 시작됨, 터치 감동, 터치, 끝내기 및 터치 .................. 도트에서 취소됨 ....

+0

도움을 주셔서 감사합니다. 자습서 나 링크 또는 코드 기반을 제공 할 수 있습니까? –

+0

마침내 나는 사용자가 uiwebview.but을 터치 할 때 슬쩍 할 수있었습니다.이 때문에 uiwebview를 확대 또는 축소 할 수 없습니다. 도와주세요. –

+0

[super touchesMoved], [super touchesStarted], [super touchesEnded], [super touchesCancelled]를 호출하는 것을 잊지 마세요! – drvdijk

관련 문제