Как повернуть кнопку UIB нажатием и удерживать (удерживать - повернуть пальцем) - PullRequest
0 голосов
/ 08 февраля 2011

Я новичок в разработке ios.Мне нужна помощь.У меня есть пользовательский UIButton с изображением «стрелка», поэтому мне нужно вращать эту кнопку, нажимая и перемещая палец в +360 гр.и -360 гр., как стрелка компаса.

Ответы [ 2 ]

0 голосов
/ 08 октября 2012

Подробно вы можете настроить rotateView, затем:

1: В методе делегата "touchesBegan" получите initialPoint пальца и 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» вы можете вычислить окончательный AngularVelocity.

Если что-то не так, для более подробной информации, вы можете написать обратно.

0 голосов
/ 03 марта 2011

Вот код, который делает вращение.

-(void)LongPress:(UILongPressGestureRecognizer *)gesture {

    CGPoint p = [gesture locationInView:self.view];

    CGPoint zero;
    zero.x = self.view.bounds.size.width / 2.0;
    zero.y = self.view.bounds.size.height / 2.0;

    CGPoint newPoint;

    newPoint.x = p.x - zero.x;
    newPoint.y = zero.y - p.y;
    CGFloat angle;
    angle = atan2(newPoint.x, newPoint.y);
    self.myButton.transform = CGAffineTransformRotate(CGAffineTransformIdentity, angle);

}
...