2009-10-05 3 views
0

webview.I에 정보를로드하는 iphone 용 응용 프로그램을 개발 중입니다. hittest 델리게이트를 사용하여 터치를 잡았습니다. 이제 터치 움직임의 방향을 찾아야합니다.이 방법을 찾을 수 있습니다. . 미리 감사드립니다.hittest의 터치 방향

답변

-1

UIWebView의 서브 클래스를 시도하고 touchesBegan 및 등의 메소드를 무시할 수 있습니다.

+0

-1, 명시 적으로 UIWebView 클래스가 서브 클래 싱되지 않아야한다고 말하는 경우 미안합니다. ( – slf

+0

죄송합니다. 입력하기 전에 조회해야합니다. – MrMage

1

"히트 테스트 대리인"이 무엇을 의미하는지 모르겠지만 @MrMage와 같은 감동을 잡으려면 무엇을해야한다고 생각했는지 생각합니다. 그러나이를 수행하기 위해 UIWebView를 서브 클래스하지 않아도됩니다.

UIResponder는 다음과 같은 노출 :

– touchesBegan:withEvent: 
– touchesMoved:withEvent: 
– touchesEnded:withEvent: 
– touchesCancelled:withEvent: 

당신은 당신의 자신의 UIView 하위를 할 수 있어야한다, 인터페이스 빌더에있는 UIWebView의 수퍼있다. 이 이벤트들을 경청하고, 그들이 당신에게 제기되었는지를 확인하십시오, 당신이 Interface Builder에 익숙한 것 같아서, 나는 그것에 들어가지 않을 것입니다.

"터치 동작의 방향을 찾으십시오"는 약간 애매합니다. 스 와이프가 시작 지점에서 끝 지점까지 "위로"또는 "아래로"또는 "왼쪽으로"또는 "오른쪽으로"이동했는지 감지하고 싶습니다. touchesBegan 터치에서 터치를 비교하고 touchesEnded 터치 좌표와 비교하여이 작업을 매우 쉽게 수행 할 수 있습니다. 이 같은

뭔가 작업을해야합니다 :

if ((endTouch.x - startTouch.x) > 0) { NSLog(@"swipe right"); } 
else if ((endTouch.x - startTouch.x) < 0) { NSLog(@"swipe left"); } 

은 주어진 터치를 들어, UITouch 인스턴스가 생성되고, 그 메모리 주소는 변경되지 않습니다, 기억하십시오. 이런 식으로 UITouch의 주소를 안전하게 비교할 수 있으므로 같은 것을 추적 할 수 있습니다. 이는 여러 번의 터치 (터치 이벤트를받는 NSSet과 같은)가있을 때 매우 유용합니다. Event Handling Guide은 훌륭한 리소스입니다.