2012-04-18 3 views
0

있는 UIImageView 시계 방향 또는 사용자의 움직임 시계 반대 방향으로 내가 성공적으로이 게시물에서이 코드를 사용하여 UIImageView에 회전 구현 한

iPhone - Wheel tracking finger jumps to same starting position?

동료 개발자들에게 내 질문은 터치의 사용자가 두 이미지를 회전 할 수 있다는 것입니다 시계 방향 및 반 시계 방향. 어떤 방향으로 사용자가보기를 움직이는 지 감지 할 수있는 방법이 있습니까?

내가 시계 앱을 만들기 때문에 나에게 중요합니다. 나는 사용자가 min hand form을 0 분 동안 60 분으로 움직일 수 있도록했다. 거기에 도달하면 나는 시침 하나를 움직입니다. 그러나 사용자는 시계 반대 방향으로 분침 바퀴를 돌릴 수 있습니다.이 경우 시침을 한 번 아래로 움직여야합니다. 어떤 아이디어?

+0

방향 다음 번에 CALC 수 있습니다 이동 마지막 시간을 기록하는 "lastPoint"라는 이름의 멤버 변수를 설정할 수 있지만, 나는 받아 들인 대답이 fromAngle과 toAngle을 계산한다는 것을 알았다. 그 차이점의 표시는 당신이 필요로하는 것 같다. – danh

+0

그건 작동하지 않습니다. 원 안에는 물체가 어느 방향으로 회전하는지 볼 수있는 각도에 의존 할 수 없습니다. 즉 물체를 270도에서 270도까지 회전하면 물체를 어느 방향으로 회전 시켰는지 알 수 있습니까? –

답변

3

당신은 점 당신이

당신은 내가 그 글을주의 깊게 읽어 보지 않았


CGPoint lastPoint; 


- (void) touchedBegin:(NSSet *)touches withEvent:(UIEvent *)event { 
    lastPoint = [touch locationInView:self.view]; 
} 

-(void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { 
NSSet *allTouches = [event allTouches]; 

//you can save the point , then used in next time you want 

int tInput = [allTouches count]-1; 

UITouch *touch =[[allTouches allObjects] objectAtIndex:tInput]; 
CGPoint location = [touch locationInView:self.view]; 
float theAngle = atan2(location.y-imageX.center.y, location.x-imageX.center.x); 

float theLastAngle = atan2(lastPoint.y-imageX.center.y, lastPoint.x-imageX.center.x); 

lastPoint = location; 

// compare theAngle & theLastAngle , so you can know it is clockwise or counterclockwise. 
} 

+0

고마워요.하지만 혼자서 알아 냈습니다. –

+2

@SamBudda : 만약 당신이 스스로 생각했다면, 당신이 대답을 올리면 공감할 수있을 것입니다. 당신이 그것을 받아들이지 않기로 결정했다면 좋은 대답을 적어도 upvote하는 것도 좋은 습관입니다. +1 날부터 adali. –

관련 문제