سؤال

حاولت العثور على حل سهل لما يلي. لدي منظر رئيسي يحمل البلاط. أريد سحبه وإسقاطه على uitableview. يمكنني برمجة الاختيار والسحب بالفعل مع UigesturereCognizer.

الآن مشكلتي هي كيف يمكنني اكتشاف في عرض الجدول أن هناك عنصرًا سيتم سحبه فوقه. على سبيل المثال ، أريد تسليط الضوء على الصف المحدد عند نقل البلاط فوقه.

حاولت إضافة الأحداث التي تعمل باللمس/بدأت/انتهيت إلى ViewCell. إنهم لا يحصلون على حرائق عندما أقوم بسحب البلاط فوقه (وبعبارة أخرى ، يختبئ البلاط جزءًا من Viewcell تحت إصبعي). يتم إطلاق النار عندما لا يكون هناك بلاط يتجول أعلاه.

هل هناك طريقة فعالة للأجهزة الفقرية لذلك؟

شكرًا.

هل كانت مفيدة؟

المحلول

هناك مجموعة كاملة من مشكلات واجهة المستخدم هنا يجب معالجتها.

  • بشكل عام ، تعتبر السحب والإفلات على iPhone فكرة سيئة. من الصعب للغاية القيام به ، والحصول على الملاحظات سيكون مشكلة ، لأن إصبعك سيعرق عملية السحب
  • قد يؤدي استخدام الخلية المحددة للجدول إلى الإشارة إلى "الإسقاط" الذي يرفضه مراجعو متجر التطبيقات ؛ إنه يشير إلى "لقد اخترت هذه الخلية" ، وليس "سأسقط شيئًا ما عليه"

ومع ذلك ، فمن المحتمل أن ترغب في إدارة جميع أحداث اللمس في عرض "المصدر" ، وإرسال رسائل الجدول من هناك ، بدلاً من محاولة التوفيق بين الرسائل. بمجرد أن تُسلم الخاص بك: withevent: تم استدعاؤه في عرض واحد ، كل ما تليّرًا -touchesmoved: withEvent: و -touchesed: withevent: سيتم إرساله إلى هذا الرأي لدورة حياة تلك اللمسة ؛ إن إعادة توجيههم حولهم سيشعل الخلط بين جميع المعنيين.

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