كيف يمكن ل Uicontrol اجتياز جميع الأحداث التي تعمل باللمس إلى الكائن التالي في سلسلة المستجيب؟

StackOverflow https://stackoverflow.com/questions/1313233

  •  19-09-2019
  •  | 
  •  

سؤال

هذا صعب. لدي زر صغير على واحدة كبيرة جدا. عند الضغط على زر صغير على هذا الزر الكبير، يقوم الزر الصغير بشيء ما. لكن الجزء الكبير لا يفعل شيئا. بالتاكيد. ولكن الآن أريد أن يقوم الزر الكبير أيضا بشيء ما، بغض النظر عما إذا كان الزر صغير استغلال أم لا. لذلك يجب على الزر الصغير إعادة توجيه جميع أحداث اللمس إلى هذا الزر الكبير. ماذا ستكون أسهل طريقة للقيام بذلك؟

أعلم أن Uiview، لكن لدى Uicontrol أساليب التعامل مع لمسة خاصة بها مختلفة عن تلك الخاصة ب Oiview. في Uiview التي قد تبدو إلى حد ما مثل هذا:

[self.nextResponder touchesBegan:touches withEvent:event];
هل كانت مفيدة؟

المحلول

قد ترغب في إلقاء نظرة على هذا المشنور هذا يدل على طرق توليف أحداث اللمس. توقف عن العمل لفترة من الوقت. إعادة النظر في ذلك الآن يبدو وكأنه قام بتحديثه للحصول على دعم 3.0 لذلك قد يعمل من أجلك. التحذير هو أنه قد لا يكون شرعي لتطبيق الشحن.

طريقة أسهل هي كسر الطريقة التي تعمل بها العمل (دعنا نسميها bigButtonWork) عندما يتم استغلال الزر الكبير وجعله من الجمهور. ثم يدعو Handler Button Tap Button إلى هذا الروتين. عندما يتم استغلال الزر صغير، يمكنك اختيار داخل معالجها للقيام بشيء أو اتصل به bigButtonWork في حين أن.

لكنني أظن أنك تريد تحديد ذلك لمحاكاة الزر الكبير في الواقع دفع فعلا (مع إكمال مع النقاط البارزة وتغيير الحالة) لذلك قد تضطر إلى الذهاب إلى مسار الحدث المركب.

نصائح أخرى

يمكنك تطبيق بروتوكول للسماح للزر الكبير بتلقي الرسائل من الزر "صغير"، على الرغم من ما أفعله هو وجود أزرار في UIViewController، فاحص على زر صغير أخبر Teeh UiviewController الذي تم النقر عليه (إما من خلال محدد أو بروتوكول) ثم يمكن UiviewController تحديث الزر الكبير وفقا لذلك .... المزيد عند البروتوكولات هنا http://developer.apple.com/documentation/cocoa/coneptual/objectivec/articles/ocprotocols.html.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top