2012-08-13 3 views

답변

0

내가

는, 뷰 드래그 할 수 있도록 다음과 같은 세 가지 방법을 사용하여 드래그 터치를 감지하기 위해 OS X의보다 그것을 더 잘 알고 나는이 아이폰 OS를 가정합니다 :

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; 
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event; 
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event; 

을 트릭은 터치의 위치를 ​​뷰의 수퍼 뷰에 저장해야한다는 것이고 두 번째 방법에서는 뷰 자체의 위치를 ​​적절히 업데이트해야한다는 것입니다. 뷰의 중심이나 원점이 특정 점에 도달했음을 감지하면 (==를 사용하여 체크하지 말고 부동 소수점 숫자에는 적합하지 않음), 작은 엡실론을 사용하여 뷰가 원하는 영역 내에 있는지 감지합니다)보기에서 부울 플래그를 설정 한 다음 touchesMoved 메소드에서 부울 플래그를 확인하고 뷰의 위치를 ​​더 이상 업데이트하지 않을 수 있습니다.

+0

응답 해 주셔서 감사합니다 ....하지만 어디 코드를 배치 할 것입니다 ??? 정말 미안 해요 xcode 정말 새로운 .... 그리고 샘플 코드를 제공 할 수 있다면 정말 생명의 은인이 될 것입니다 .... – imkakoy

+0

@ imkakoy 당신은 UIView 서브 클래스하고 그 하위 클래스에있는 모든 코드를 넣어해야합니다. 미안하지만 나는 약간의 서둘러 그래서 지금 당신을 위해 완전한 드래그 UIView를 작성할 수는 없습니다. (어쨌든 SO가 무엇이 아닌지), 공식 Apple docs에서 grep하기위한 두 가지 메소드 이름을 제공 할 수 있습니다. : [NSSet anyObject] 및 [UIView locationInView :]. –

+0

@ H2C03 감사합니다 ... 나는 이것이 나를 돕기를 바랍니다. .... 다시 한번 감사드립니다. – imkakoy

관련 문제