15

aUIView parentViewを実装し、UITapGuestureRecognizerタップすると何かを実行する a があります。parentViewと呼ばれるサブビューがchildViewあり、これも a を実装し、UITapGuestureRecognizerタップすると何かを実行します。

childViews UITapGestureRecognizerアニメーション中に を少しの間オフにしなければならない場合があり、オフになっているときに をタップするchildViewと、タップが にインターセプトされることに気付きましたparentView。また、このビューの上部にジェスチャ レコグナイザーが接続されていないツールバーが接続されており、そのタッチは parentView に渡されます (ボタンはほとんど機能しません)。親の UITapGestureRecognizer を参照せずにこれを無効にすることは可能でしょうか?

exclusiveTouchesset のプロパティUIViewを yesに設定してみましたが、うまくいきません。任意の提案をいただければ幸いです。

4

3 に答える 3

25

親ジェスチャ レコグナイザーでUIGestureRecognizerDelegate、 を実装し、次のメソッドを実装します。

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 
{
    if ([touch.view isKindOfClass:[ClassThatYouWantTouchesBlocked class]]) 
    {
        return NO;
    }
    else 
    {
        return YES; 
    }
}

ClassThatYouWantTouchesBlockedタッチを無視するクラスに置き換えます。

于 2012-06-24T09:56:49.643 に答える
1

ChildView のタップ ジェスチャ レコグナイザーをオフにしないとどうなりますか? 何もせずに子供のタップ ジェスチャ メソッドから戻るアニメーションの場合。

isAnimatingプロパティよりもimageViewの場合、使用される可能性があります。

于 2012-05-25T07:14:03.227 に答える