本文介绍了旋转iPhone中触摸拖动对应的图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想顺时针或逆时针旋转图像,对应于用户触摸拖动的速度.我认为这可以通过一些数学和逻辑来完成.用于此的代码示例是什么样的?

I want to rotate the image in clockwise or anticlockwise direction corresponding to the user touch drag with its speed. I think this can be done with some math and logic. What would a code sample for this look like?

推荐答案

如果你的目标是 iOS 3.2 或更高版本,你可以使用 UIRotationGestureRecognizer.代码看起来像这样:

If you're targeting iOS 3.2 or greater, you can use UIRotationGestureRecognizer. The code would look something like this:

在您的设置方法中(viewDidLoadinit 等):

In your setup method (viewDidLoad or init, etc,):

UIRotationGestureRecognizer *rotationGesture =
  [[UIRotationGestureRecognizer alloc] initWithTarget:self
                                               action:@selector(handleRotate:)];
rotationGesture.delegate = self;
[myImageView addGestureRecognizer:rotationGesture];
[rotationGesture release];

事件处理程序:

- (void)handleRotate:(UIRotationGestureRecognizer *)recognizer {
  if(recognizer.state == UIGestureRecognizerStateBegan ||
     recognizer.state == UIGestureRecognizerStateChanged)
  {
    recognizer.view.transform = CGAffineTransformRotate(recognizer.view.transform,
                                                        recognizer.rotation);
    [recognizer setRotation:0];
  }
}

我在 github 上有更多手势识别器示例(包括上面的那个).

I have some more examples of gesture recognizers (including the one above) on github.

这篇关于旋转iPhone中触摸拖动对应的图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-11 15:14