【问题标题】:UIRotationGestureRecognizer on UIImageviewUIImageview 上的 UIRotationGestureRecognizer
【发布时间】:2012-02-09 19:35:41
【问题描述】:
如何在 iOS SDK 中使用两个手指触摸旋转 UIImageView。我知道这很简单,但由于我是这项技术的新手,所以无法理解...
如何使用 UIRotationGestureRecognizer 来实现这个...
请帮我解决这个问题...
谢谢。
【问题讨论】:
标签:
iphone
objective-c
ios
【解决方案1】:
代码在视图上确实加载或图像视图创建功能:m_ctrlImgVwShowImage - 你的图像视图
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];
}