2

シナリオは次のとおりです。

UIPanGestureRecognizer が追加されたビューのサブビューとして scrollView があります。パン ジェスチャは、たとえば左から右の方向にのみ適用されます。

私が達成しようとしているのは: scrollView.contentOffset.x == 0 で、ユーザーが左から右にパンしている場合、PanGesture を機能させたい、そうでない場合は scrollView を通常どおりに機能させたい。

私は試した

  • hitTest:withEvent:contentOffsetを確認できるscrollViewのスーパービューに実装していますが、ジェスチャーの方向に関するデータはありません。
  • touchesShouldBegin:withEvent:inContentView:scrollView で実装しますが、方向に関するデータはありません。

問題は瞬間のようです。ビューがジェスチャーイベントを処理した後にこの種のチェックを行いたい場合、それをキャンセルしてイベントを別のビューに再送信する機会はありません。

これに対する回避策はありますか? 前もって感謝します!

4

1 に答える 1

0

スーパービューに追加した UIPanGestureRecognizer のデリゲートをセットアップして実装します

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer { 
    if(scrollView.contentOffset.x != 0){
        return NO;
    }

    return YES;
}
于 2013-05-23T17:12:23.920 に答える