UISwipeGesturerEcognizer Gesture Point
-
26-09-2019 - |
سؤال
هل من الممكن الحصول على نقطة بداية لفتة من uiswipegesturerecognizer. مثل كيف ممكن في
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch * touch = [touches anyObject];
gestureStartPoint = [touch locationInView:self];
}
المحلول
بحسب ال توثيق UISwipeGesturerEcognizer تستطيع:
يمكنك تحديد الموقع الذي بدأت فيه التمرير عن طريق الاتصال بطرق UigesturerEcognizer LocationInview: و siteoftouch: inview :. تمنحك الطريقة السابقة النقطه الوسطى إذا كان أكثر من لمسة واحدة متورطة في هذه الإيماءة ؛ هذا الأخير يعطي موقع لمسة معينة.
ملاحظة: يجب عليك أولاً أن تنظر أولاً إلى الوثائق ، وكانت الإجابة في مرجع الفصل لـ UiswipeGesturerEcognizer ، لا ينبغي العثور عليها. جزء من كونك مطورًا هو القدرة على البحث عن الأشياء ، ولديها وثائق ممتازة ، واستخدامها!
نصائح أخرى
تحذير
إجابة إيمي تماما غير صحيح! قد يولد المعرف UIGestureRecognizerStateBegan
ولكن على التمرير UISwipeGestureRecognizer
يولد UIGestureRecognizerStateEnded
الحدث فقط.
لكن touchesBegan:
يعمل بدلا من ذلك. المشكلة هي أنه إذا كان يدعم تفاعل المستخدم ، فهو يعمل في العرض الحالي فقط وتحتاج إلى تمريره إلى طريقة عرض الوالدين.
نعم هذا ممكن. انظر الرمز أدناه:
if ([recognizer state] == UIGestureRecognizerStateBegan || [recognizer state] != UIGestureRecognizerStateChanged) {
NSLog(@"StateBegan :::::");
}