UIRotationGestureRecognizer

UIRotationGestureRecognizer

我知道这很简单,但是由于我是这项技术的新手,所以无法理解iOS SDK中两个手指触摸如何旋转UIImageView的方法。

如何使用UIRotationGestureRecognizer来实现此...

请帮我解决这个问题...

谢谢。

最佳答案

在 View 上编码此代码确实已加载或imageview创建函数:m_ctrlImgVwShowImage-您的imageview

UIRotationGestureRecognizer *rotationRecognizer = [[[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotate:)] autorelease];
    [rotationRecognizer setDelegate:self];
    [m_ctrlImgVwShowImage addGestureRecognizer:rotationRecognizer];

//lastRotation is a cgfloat member variable

-(void)rotate:(id)sender {
    if([(UIRotationGestureRecognizer*)sender state] == UIGestureRecognizerStateEnded) {
        _lastRotation = 0.0;
        return;
    }

    CGFloat rotation = 0.0 - (_lastRotation - [(UIRotationGestureRecognizer*)sender rotation]);

    CGAffineTransform currentTransform = m_ctrlImgVwShowImage.transform;
    CGAffineTransform newTransform = CGAffineTransformRotate(currentTransform,rotation);

    [m_ctrlImgVwShowImage setTransform:newTransform];

    _lastRotation = [(UIRotationGestureRecognizer*)sender rotation];
}

10-06 02:56