我是ios开发的菜鸟。我需要帮助。我有带有图片“箭头”的自定义 UIButton,所以我需要通过在 +360 gr 中按下和移动手指来旋转这个按钮。和 -360 克,如指南针箭头。
问问题
757 次
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
"的委托方法中,获取initialPoint
finger和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 回答