我想在我的iPhone应用程序中处理旋转手势并在此期间旋转imageView。在手势结束时,我想旋转到固定位置imageView。 所以即,如果我将imageView从0弧度旋转到M_PI/2弧度,但在中途的某处我以手势结束。结束后,我想测试的角度,如果它M_PI接近/ 2,然后将其设置为M_PI/2,否则为0。
这里是我的代码,我如何试图做到这一点:UIGestureRecognizer结束
我创建并添加认识到我的看法。
UIGestureRecognizer *recognizer = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(gestureRecognized:)];
recognizer.delegate = self;
[self addGestureRecognizer:recognizer];
[recognizer release];
委托方法:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if (_imageView) {
return YES;
}
return NO;
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}
手势识别的方法:
- (void)gestureRecognized:(UIRotationGestureRecognizer *)recognizer {
_imageView.transform = CGAffineTransformMakeRotation(recognizer.rotation);
}
这些方法的工作,但在这里就是我试图让手势结束的方法。这是行不通的:
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"gesture end");
}
此外与变换我有一个小问题。有时它会回到0弧度。
任何建议是值得欢迎的。谢谢!
它不工作。你知道为什么吗?仍然没有收到结束。 – 2011-02-10 08:09:09