【发布时间】:2012-12-19 12:16:42
【问题描述】:
我有一个UIScrollView,它有一个缩放UIImageView,即它实现了:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return self.imageView;
}
我正在尝试将 UIRotationGestureRecognizer 添加到此 imageView 并按如下方式进行:
_rotationGestureRecognizer = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotate:)];
[self.imageView addGestureRecognizer:_rotationGestureRecognizer];
-(void)rotate:(id)sender
{
UIRotationGestureRecognizer *rotationGestureRecognizer = [(UIRotationGestureRecognizer*)sender retain];
if(rotationGestureRecognizer.state == UIGestureRecognizerStateEnded)
{
self.lastRotation = 0.0;
return;
}
CGFloat rotation = 0.0 - (self.lastRotation - rotationGestureRecognizer.rotation);
rotationGestureRecognizer.view.transform = CGAffineTransformRotate(rotationGestureRecognizer.view.transform, rotation);
self.lastRotation = rotationGestureRecognizer.rotation;
[rotationGestureRecognizer release];
}
我只是想知道,是否有可能做到这一点?似乎UIScrollView 阻止了对我的UIImageView 的触摸,因为什么都没有发生。 Apple 是否建议不要在 UIScrollView 中使用缩放视图执行此操作?
【问题讨论】:
-
使用 KTOneFingerRotationGestureRecognizer 进行旋转
-
@CoDEFRo 如果你想旋转scrollView然后使用添加手势到scrollView。
标签: iphone ios cocoa-touch uiscrollview uigesturerecognizer