UIImageView的旋转手势

时间:2013-02-05 07:30:26

标签: iphone ios objective-c xcode ipad

我为UIImageView实施了一个旋转手势。

以下是我实施的代码:

- (IBAction)rotaehandler:(UIRotationGestureRecognizer *)sender
{
    sender.view.transform = CGAffineTransformRotate(sender.view.transform, sender.rotation);
}

我已将UIRotationGestureRecognizerUIImageView联系起来。 它的工作原理但是,如何将图像旋转到其中心。

2 个答案:

答案 0 :(得分:1)

CGFloat initialRotation = atan2f(sender.view.transform.b-somefloat, sender.view.transform.a-somefloat);

 CGFloat newRotation = initialRotation + sender.rotation;

 sender.view.transform = CGAffineTransformMakeRotation(newRotation);

尝试上面的代码

答案 1 :(得分:-1)

试试这个:

- (IBAction)rotaehandler:(UIRotationGestureRecognizer *)sender
    {


        if ([sender state] == UIGestureRecognizerStateBegan || [sender state] ==  
                 UIGestureRecognizerStateChanged) 
        {
            [sender view].transform = CGAffineTransformRotate([[sender view] transform],  
                                                                [sender rotation]);

             NSLog(@"Rotate : %f",[gestureRecognizer rotation]);
             [sender setRotation:0];
         }
    }