我想旋轉圖像的中心點周圍。我面臨的問題是我需要獲得角度來計算觸摸移動事件(我不想使用多點觸摸)。我現在用下面的代碼在餅圖中計算旋轉角度
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
NSArray *allTouches = [touches allObjects];
gestureStartPoint = gestureMovedPoint;//i am getting the gestureStartPoint on touch began event
gestureMovedPoint = [[allTouches objectAtIndex:0] locationInView:[self superview]];
NSLog(@"gestureMovedPoint = %@",NSStringFromCGPoint(gestureMovedPoint));
}當前
CGFloat previousAngle = [self angleBetweenPoints:gestureStartPoint second11:gestureMovedPoint]; // atan2(gestureMovedPoint.y - gestureStartPoint.y, gestureMovedPoint.x - gestureStartPoint.x) * 180/M_PI;
CGFloat currentAngle =atan2(self.transform.b, self.transform.a);//atan2(gestureMovedPoint.y - gestureStartPoint.y,gestureMovedPoint.x - gestureStartPoint.x) * 180/M_PI;
CGFloat angleToRotate = currentAngle - previousAngle;
float xpoint = (((atan2((gestureMovedPoint.x - gestureStartPoint.x) , (gestureMovedPoint.y - gestureStartPoint.y)))*180)/M_PI);
CGAffineTransform transform = CGAffineTransformMakeRotation(angleToRotate-100);
self.transform = transform;
請幫我看看,因爲我堅持在這裏,需要是有死線很快完成該應用程序的解決方案。 在此先感謝
嗨Aurum, 感謝您的回覆,這很有幫助。但它仍然不能正確計算角度。 也不會在反時鐘方向旋轉。 謝謝。 – 2011-02-24 11:17:17
如果您想要逆時針轉動,只需將角度設置爲負值...您不確定您的意思是否爲其他評論。它似乎爲我工作。 – 2011-02-24 11:19:25
其他點我的意思是它應該與我的觸摸旋轉,但它不會以這種方式旋轉。我認爲計算中有些問題。以下是我的代碼。 在答案部分請反過來咯thanx – 2011-02-24 13:16:10