6

私に追加したいUIViewController

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)];
tapGesture.numberOfTapsRequired = 2;
[self.view addGestureRecognizer:tapGesture];
[tapGesture release];

UITapGestureRecognizer *tapGesture2 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture2:)];
tapGesture2.numberOfTapsRequired = 1;
[self.view addGestureRecognizer:tapGesture2];
[tapGesture2 release];

問題は、ユーザーが2回タップすると2つのメソッドが呼び出されることです。ユーザーがダブルタップすると最初の(handleTapGesture)のみが呼び出され、1回タップすると2番目のメソッド(handleTapGesture2)のみが呼び出されます。

4

2 に答える 2

10

これを使って..

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture)];
tapGesture.numberOfTapsRequired = 2;
[self.view addGestureRecognizer:tapGesture];
[tapGesture release];

UITapGestureRecognizer *tapGesture2 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture2)];
tapGesture2.numberOfTapsRequired = 1;

[tapGesture2 requireGestureRecognizerToFail: tapGesture];

[self.view addGestureRecognizer:tapGesture2];
[tapGesture2 release];
于 2012-04-17T09:55:10.747 に答える
1

私がここrequireGestureRecognizerToFail:に投稿したコードを使用することができます これで使用される 方法はviewcontroller.mあなたの問題を解決します

于 2012-04-17T09:53:54.467 に答える