我有一个UIImageView有一个箭头的图像。当用户点击UIView时,这个箭头应该指向水龙头保持其位置的方向,它应该改变变换。我已经实现了以下代码。但它没有按预期工作。我添加了一个截图。在这个屏幕截图中,当我触摸左上方的点时,箭头方向应该如图所示。但它不会发生。UIImageView旋转动画在触摸方向
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch=[[event allTouches]anyObject];
touchedPoint= [touch locationInView:touch.view];
imageViews.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(rangle11));
previousTouchedPoint = touchedPoint ;
}
- (CGFloat) pointPairToBearingDegrees:(CGPoint)startingPoint secondPoint:(CGPoint) endingPoint
{
CGPoint originPoint = CGPointMake(endingPoint.x - startingPoint.x, endingPoint.y - startingPoint.y); // get origin point to origin by subtracting end from start
float bearingRadians = atan2f(originPoint.y, originPoint.x); // get bearing in radians
float bearingDegrees = bearingRadians * (180.0/M_PI); // convert to degrees
bearingDegrees = (bearingDegrees > 0.0 ? bearingDegrees : (360.0 + bearingDegrees)); // correct discontinuity
return bearingDegrees;
}
请让我们知道如何为未按预期工作。箭头是否指向正确的方向?它围绕错误的轴旋转吗? – 2012-07-11 13:11:52
是的,它没有指向正确的方向。当我触摸UIView上的另一点时,此箭头指向另一个方向。 – 2012-07-12 03:50:17
你的形象指向哪个方式?向上? – nielsbot 2012-07-17 07:31:13