0

我是ios开发的菜鸟。我需要帮助。我有带有图片“箭头”的自定义 UIButton,所以我需要通过在 +360 gr 中按下和移动手指来旋转这个按钮。和 -360 克,如指南针箭头。

4

2 回答 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 回答