سؤال

هل من الممكن الحصول على نقطة بداية لفتة من 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 :::::");
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top