0

タップジェスチャに問題があります。私の場合は次のとおりです。-キーボードを閉じるためのUITapGestureRecognizerを使用したビュー-2つのジェスチャを持つビュー上のラベル。1つUITapGestureRecognizerはポップアップを開き、UITapGestureRecognizer(タッチ数は2)ポップアップをすばやく確認します。

しかし、ラベルをタップすると、オンビューはUITapGestureRecognizer常にアクションを受け取ります。アクションをに転送するにはどうすればよいですかUILabel

ありがとう

4

2 に答える 2

2

ラベルをタップするには、そのラベルのユーザーインタラクションを有効にする必要があります

2タップを受け取るには、次の手順を実行する必要があります

要するに[tap requireGestureRecognizerToFail:dTap];、ダブルタップが発生するかどうかを確認するためにしばらく待つためにシングルタップを作成するためのトリックを行います

UITapGestureRecognizer *dTap = [[UITapGestureRecognizer alloc]
                                         initWithTarget:self 
                                         action:@selector(doubleTapped:)];
dTap.delegate = self;
dTap.numberOfTapsRequired = 2;
dTap.numberOfTouchesRequired = 1;
[label addGestureRecognizer:dTap];

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
                                   initWithTarget:self 
                                   action:@selector(tapped:)];
tap.delegate = self;
tap.numberOfTapsRequired = 1;
tap.numberOfTouchesRequired = 1;
[label addGestureRecognizer:tap];
[tap requireGestureRecognizerToFail:dTap];
于 2013-03-26T04:22:11.060 に答える
1

//それはあなたのLableでユーザーインタラクションを有効にします、デフォルトではそのNOなので、あなたはそれをしなければなりません。

[lbl setUserInteractionEnabled:YES];
于 2013-03-26T04:22:39.473 に答える