10

手势识别器:应该接收触摸:方法没有被调用。我是否设置不当?

-(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;
}

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

4

1 回答 1

31

好像你还没有设置委托?

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch

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

touchHold.delegate = self;

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

@interface YourViewController <UIGestureRecognizerDelegate>
于 2012-10-13T03:59:34.187 回答