このケースについてはわかりませんが、カスタム コンテナー ビューでジェスチャを行ってから、独自のジェスチャを含む子ビューを追加したときに、子のジェスチャを反復処理して、要求するように指示する必要があったことは知っています。私のジェスチャーは失敗します(つまり、私のジェスチャーが優先されます)。私はスクロールビューでこれを成功させました:
for (UIGestureRecognizer *gesture in self.scrollView.gestureRecognizers)
{
[gesture requireGestureRecognizerToFail:myGesture];
}
私が問題を抱えたのは、編集モードに出入りするときにジェスチャーを削除および追加する UITextView のようなビューだけなので、面倒です。
また、標準のジェスチャーでこれを試しましたが、その後、できるだけ早く失敗するようにプログラムしたカスタム ジェスチャーに移行しました (開始位置を確認し、ジェスチャーが必要とする方向をサポートしない場合はすぐに失敗します。たくさんの人touchesMoved
が同じ結論に達するのを待つよりも)。子ビューのジェスチャを妨げたくない場合は、自分のジェスチャをできるだけ積極的に失敗させてください。これはスワイプ ジェスチャの問題ではないかもしれませんが、ジェスチャによって子ビューの動作が著しく変化することが判明した場合は、考慮すべき問題です。
しかし、おそらく、どのビューがあなたのジェスチャーに干渉しているジェスチャーを持っているかを理解し、最初にあなたのジェスチャーが失敗することを要求する必要があると思います.