以下は、ビュー全体を移動するジェスチャ レコグナイザーを作成します。
UIPanGestureRecognizer * recognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)];
recognizer.delegate = self;
[self.view addGestureRecognizer:recognizer];
- (IBAction)handlePan:(UIPanGestureRecognizer *)recognizer {
CGPoint translation = [recognizer translationInView:self.view];
recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x,
recognizer.view.center.y + translation.y);
[recognizer setTranslation:CGPointMake(0, 0) inView:self.view];
}
しかし、サブビューの1つを移動したいだけです。私はこれを行うことはできません:
[self.theSubview addGestureRecognizer:recognizer];
画面全体でジェスチャーを認識したいからです。移動する必要があるオブジェクトは小さい可能性があり、ユーザーにそれを「つかむ」ことを強制したくありません。サブビューを移動するだけのハンドラー メソッドを変更するにはどうすればよいですか?