1

UIScrollViewサブビューとUITapGestureRecognizer.

次のように認識エンジンを作成します。

UITapGestureRecognizer *tgr = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureRecognized:)];
[self addGestureRecognizer:tgr];

のビュー プロパティはUITapGestureRecognizer、ユーザーが別のビューに触れた場合でも、スクロール ビュー自体を指します。スクロールビューでタッチが直接下がったかどうかを知る必要があります。

4

2 に答える 2

1

サブクラスのいずれかになり、このようなメソッドUITapGestureRecognizerをオーバーライドすることで、この情報を保持する新しい ivar を追加できますtouchesBegan:withEvent:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
  /*
   * If you wanted you could store a set of all the views to allow
   * for multiple touches
   */
  self.touchedView = [touches.anyObject view];
  [super touchesBegan:touches withEvent:event];
}

または、必要に応じて、実装することにより、デリゲートにUITapGestureRecognizerなり、タップされたビューをクラスのプロパティとして保存できますgestureRecognizer:shouldReceiveTouch:

于 2013-08-27T00:26:08.570 に答える