10

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

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 に答える