我是ios开发的菜鸟。我需要帮助。我有带有图片“箭头”的自定义 UIButton,所以我需要通过在 +360 gr 中按下和移动手指来旋转这个按钮。和 -360 克,如指南针箭头。
2 回答
0
这是进行旋转的代码。
-(void)LongPress:(UILongPressGestureRecognizer *)gesture {
CGPoint p = [手势 locationInView:self.view];
CG点零;
zero.x = self.view.bounds.size.width / 2.0;
zero.y = self.view.bounds.size.height / 2.0;
CGPoint 新点;
newPoint.x = px - zero.x;
newPoint.y = zero.y - py;
CGF浮角;
角度 = atan2(newPoint.x, newPoint.y);
self.myButton.transform = CGAffineTransformRotate(CGAffineTransformIdentity, 角度);
}
于 2011-03-03T13:27:09.743 回答
0
详细来说,你可以自定义一个rotateView,然后:
1:在" touchesBegan"的委托方法中,获取initialPointfinger和initialAngle.
2:在“ touchesMoved”期间,得到newPoint手指的:
CGPoint newPoint = [[touches anyObject] locationInView:self];
[self pushTouchPoint:thePoint date:[NSDate date]];
double angleDif = [self angleForPoint:newPoint] - [self angleForPoint:initialPoint];
self.angle = initialAngle + angleDif;
[[imageView layer] setTransform:CATransform3DMakeRotation(angle, 0, 0, 1)];
3:最后,在“ touchesEnded”中可以计算final AngularVelocity。
如果有任何困惑,有关更多详细信息,您可以回信。
于 2012-10-08T04:15:12.540 回答