اضغط مزدوجًا على بعض المشاهدات الفرعية المحددة مع فئة UigesturereCognizer؟
-
29-09-2019 - |
سؤال
لقد اتبعت العرض التوضيحي للجلسة لـ 121 WWDC 2010 (التعرف المتقدم على الإيماءات) لإيجاد طريقة لإيجاد جميع السلوكيات (تدوير ، مقياس ، ترجمة) على فئة أخرى (TransforgerEconizer) وكلها تسير بشكل جيد والقيام بذلك للمشاهدات الفرعية:
- (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