uigesturerecognizerサブクラスを使用して、特定のサブビューをダブルタップしますか?
-
29-09-2019 - |
質問
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];
所属していません StackOverflow