捏和旋转:UIGestureRecognizerDelegate不被调用

我试图在同一视图中实现捏和旋转。 有时捏select器被调用,有时旋转一个,好的,但随后它坚持下去。 这个问题很明显是gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer没有被调用。 为什么不? 必须是明显的东西…

 @interface FaceView : UIView <UIGestureRecognizerDelegate> { } - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer; @end @implementation FaceView - (id)initWithFrame:(CGRect)frame { if( self = [super initWithFrame:frame] ) { self.multipleTouchEnabled = YES; self.userInteractionEnabled = YES; UIRotationGestureRecognizer* rotationRecognizer = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotationGesture:)]; [self addGestureRecognizer:rotationRecognizer]; [rotationRecognizer release]; UIPinchGestureRecognizer* pinchRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchGesture:)]; [self addGestureRecognizer:pinchRecognizer]; [pinchRecognizer release]; } return self; } - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { NSLog(@"gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer"); return YES; } - (void)rotationGesture:(UIRotationGestureRecognizer*)gesture { switch( gesture.state ) { case UIGestureRecognizerStateBegan: NSLog(@"rotationGesture began"); break; case UIGestureRecognizerStateChanged: NSLog(@"rotationGesture changed"); break; } } - (void)pinchGesture:(UIPinchGestureRecognizer*)gesture { switch( gesture.state ) { case UIGestureRecognizerStateBegan: NSLog(@"pinchGesture began"); break; case UIGestureRecognizerStateChanged: NSLog(@"pinchGesture changed"); break; } } .... 

我不得不设置rotationRecognizer.delegate = self;pinchRecognizer.delegate = self;