سؤال

أواجه مشكلة في فهم مفهوم Uipickerviews متعدد المكونات. أود حقًا فقط امتلاك هذا الموضوع. أرغب في إنشاء مكونات 4 مكونات مع مكونات تعتمد على بعضها البعض.

يتم ملء المكون الأول من صفيف من ديسيبل الخاص بي ، وهذا يظهر بشكل جيد. لدي جميع المعلومات الأخرى المتاحة في المصفوفات ، لكنني فقط أتعلق بالجانب التابع لـ Pickerview. أعتقد أن أفضل طريقة لجعل بيانات المكون 2 تعتمد على COMP 1 هي ربطها بطريقة أو بأخرى داخل قسم DIDECLECTROW. لكني لا أعرف بناء الجملة.

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

if(picker = pickerComponent1)
     //set number of rows for comp2 and also the content etc...

هناك مشكلة أخرى تتمثل في تحديد بتات الأرقام المنقولة لأنها ليست في نفس الطريقة ...

إذا كان أي شخص يعرف (أو يريد إعطاء :) تعليمي حول هذا الموضوع ، فسيكون ذلك مفيدًا للغاية! أو إذا كنت على دراية بالموضوع وترغب في مشاركة بعض ما تعرفه ، فسيكون ذلك مثاليًا أيضًا. أود حقًا أن أرى هذه المهمة البسيطة على ما يبدو.

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

المحلول

انها بسيطة جدا. في ال pickerView:didSelectRow:inComponent: الطريقة ، فقط اتصل [myPicker reloadComponent:] لجميع المكونات القادمة بعد واحد حيث تغير التحديد. سيسأل المنتقي تلقائيًا تلقائيًا (وحدة تحكم العرض الخاصة بك ، على الأرجح) لعدد الصفوف وقيم الصفوف.

ثم في pickerView:numberOfRowsInComponent: و pickerView:titleForRow:forComponent:, ، إرجاع القيم المناسبة (عدد ومحتويات الصفيف المقابل) اعتمادًا على قيم الصفوف المحددة للمكونات الأصل.

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