3

私はそれUIScrollViewにいくつかを持ってUIViewsいます。私がやろうとしているのは、UIViews がタッチ/タッチされていないときにタッチ イベントをキャッチすることです。

私が抱えている問題は、UIScrollViewすべてのタッチイベントを飲み込んでいるように見えることですUIView.

自動的にスクロールするUIScrollViewため、userInteractionを無効にすることをお勧めします。

これは可能ですか?

サブクラス化を試みましたUIViewsが、タッチイベントは決して呼び出されません。

4

2 に答える 2

4

これらの行に沿ってatapGestureを yourに添付できます。scrollview

   UITapGestureRecognizer* tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureUpdated:)];
   tapGesture.delegate = self;
   tapGesture.numberOfTapsRequired = 1;
   tapGesture.numberOfTouchesRequired = 1;
   [self addGestureRecognizer:_tapGesture];

あなたの- (void)tapGestureUpdated:(UITapGestureRecognizer *)tapGesture方法では、タッチの場所を特定し、サブビューの1つにピッキングがあったかどうかを調べるのはあなたの責任です。次に、特定のビューが変更されたことを通知するデリゲートのメソッドを呼び出すことができます。

于 2012-10-22T22:43:10.023 に答える
1

おそらく、関連付けられたタッチ認識オブジェクトを持つビューがアプリで認識されるように、ビューを並べ替えます。ドキュメント アウトラインで一番上に移動します (スクロール ビュー)。

于 2012-10-22T22:40:27.343 に答える