iPhone: يلامس UiviewController
-
28-09-2019 - |
سؤال
لديّ UiviewController ، في الأعلى أضع UiimageView ، ثم UisCrollView.
يمكنني معالجة اللمسات على UisCrollView على ما يرام ، ومع ذلك أريد معالجة بعض اللمسات على UiviewController.
أنا فقط بحاجة إلى لمسات UisCrollView التي تقام لمدة 5 ثوان (هذا الجزء يعمل بشكل جيد). أي شيء أقل من ذلك أريد أن انتقل إلى UiviewController.
على uiscrollview أسمي هذا:
- (void) touchesBegan: (NSSet *) touches withEvent: (UIEvent *) event
{
// some custom code to process a specific touch.
// all other touches
[super touchesBegan: touches withEvent: event];
}
هل هناك طريقة لتمرير اللمسات من UisCrollView إلى UiviewController السفلي ، أو هل يجب علي نقل إشارات إلى UiviewController في UisCrollView؟
المحلول
تم حلها!
مطلوب للإضافة:
[self.nextResponder touchesEnded: touches withEvent:event];
إلى الأعلى الأكثر تحكم.
شكرا لنفسي!
نصائح أخرى
وصف Touchesbegan في وثائق Apple يقول:
لإعادة توجيه الرسالة إلى المستجيب التالي ، أرسل الرسالة إلى Super (تطبيق الفئة الفائقة) ؛ لا ترسل الرسالة مباشرة إلى المستجيب التالي. فمثلا،
[super touchesBegan:touches withEvent:event];
إذا قمت بتجاوز هذه الطريقة دون استدعاء Super (نمط استخدام شائع) ، فيجب عليك أيضًا تجاوز الطرق الأخرى للتعامل مع أحداث اللمس ، إذا كانت تطبيقات كعب (فارغة) فقط.