uigesturerecognizerサブクラスを使用して、特定のサブビューをダブルタップしますか?

StackOverflow https://stackoverflow.com/questions/4298766

質問

121 WWDC 2010(高度なジェスチャー認識)のセッションのデモに従って、他のクラス(TransformgesturereConizer)ですべての動作(回転、スケール、翻訳)を持つ方法を見つけ、すべてがうまくいき、サブビューのためにこれを行います。

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.view addSubview:baseView];
    subView1.userInteractionEnabled = YES;
    [self addTransformGestureToView:subView1];
}

私の問題は次のとおりです。目的のサブビューをダブルタップすると、アクションが必要です。

したがって、私が追加する場合:

- (void)handleDoubleTap:(UIGestureRecognizer *)gestureRecognizer

メインビューに追加すると、アクションがどのビューを提供するか(その上の画像を変更するなど)を選択できません。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

メインビューのダブルタップのみを処理できますが、サブビュー用ではなく、 TransformGestureReconizer.h しかし、タップされたビューを選択しないでください(UigestureRecognizerのサブクラスのためだと思います)。

役に立ちましたか?

解決

解決策を見つけました:

    UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)];
[doubleTap setNumberOfTapsRequired:2];
[self addTransformGestureToView:subView1];
[self.subView1 addGestureRecognizer:doubleTap];
[doubleTap release];
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top