0

以下は、ビュー全体を移動するジェスチャ レコグナイザーを作成します。

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];

画面全体でジェスチャーを認識したいからです。移動する必要があるオブジェクトは小さい可能性があり、ユーザーにそれを「つかむ」ことを強制したくありません。サブビューを移動するだけのハンドラー メソッドを変更するにはどうすればよいですか?

4

1 に答える 1

0

しません:

self.theSubview.center = CGPointMake(self.theSubview.center.x + translation.x, 
                                     self.theSubview.center.y + translation.y);

トリックをしますか?

于 2012-07-20T22:07:47.450 に答える