gestureRecognizer:shouldReceiveTouch:没有被调用

iam*_*kie 10 iphone xcode objective-c

gestureRecognizer:shouldReceiveTouch:方法没有被调用.我设置不当吗?

-(id) init 
{
UILongPressGestureRecognizer *touchHold = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleTouchHold:)];
touchHold.minimumPressDuration = 1.0f;
touchHold.numberOfTouchesRequired = 1;
[[CCDirector sharedDirector].openGLView addGestureRecognizer:touchHold];
}

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 
{
     return NO;
}
Run Code Online (Sandbox Code Playgroud)

即使我将bool设置为no,仍然会调用按住方法.

ewi*_*nnn 30

好像你没有设置代表?

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
Run Code Online (Sandbox Code Playgroud)

是UIGestureRecognizerDelegate的一部分.所以你也应该设置委托.

touchHold.delegate = self;
Run Code Online (Sandbox Code Playgroud)

编辑:您应该告诉视图控制器实现UIGestureRecognizerDelegate.就像是

@interface YourViewController <UIGestureRecognizerDelegate>
Run Code Online (Sandbox Code Playgroud)