我想旋转图像的中心点周围。我面临的问题是我需要获得角度来计算触摸移动事件(我不想使用多点触摸)。我现在用下面的代码在饼图中计算旋转角度
- (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