كيف أقوم بإنشاء عرض جدول مثل تطبيق إعدادات الشبكة على iPhone؟

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

  •  08-07-2019
  •  | 
  •  

سؤال

كيف أقوم بعمل مثل هذا العرض؟ لذلك إذا قمت بتشغيل المفتاح ، فيجب إضافة خلايا.

لقد حاولت بالفعل

[tableView numberForRowsInSection:6];
[tableView reloadData];

لكن هذا لا يعمل كما هو متوقع :(

أيه أفكار؟

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

MHH ..

شكرا مقدما ، أنا متحمس جدا لكل إجابة :)

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

المحلول

أين قمت بسحب هذا -numberForRowsInSection: طريقة من؟ بقدر ما أعرف (والوثائق) ، فإنه غير موجود ولم يكن موجودًا أبدًا كوسيلة لـ UableView. التخمين لن ينقلك إلى أي مكان ، أساليب لا ابتكار أقل بكثير من الهواء الرقيق.

ربما يجب عليك مراجعة بعض البرامج التعليمية التي تغطي أساسيات استخدام UitableView قبل محاولة ذلك. أشك في أن شخصًا ما سيستغرق الوقت الكامل لكتابة فصل كامل للقيام بذلك ووضعه في إجابة ، وستكون أفضل حالًا على المدى الطويل إذا لم تحاول ببساطة نسخ/لصق الرمز الذي أنت لا تفهم. يوجد الكثير من الوثائق والأمثلة التي تغطي UitableView ، وهذا مجرد التفكير في ما هو متاح من Apple - UableView هو فئة مستخدمة بشكل متكرر لدرجة أن البحث عن Google عن شيء مثل "UitableView Tutorial" سيمنحك صفحات وصفحات من النتائج.

سأقدم لك نظرة عامة سريعة على ما ستحتاج إلى القيام به ، على الرغم من: 1. بالطبع ، يمكنك البدء في قالب UitableViewController في Xcode وبدء تخصيصه لتناسب متطلباتك ... قسمين ، ولكن العديد من الصفوف لكل قسم ، إلخ ، تحديد ذلك بناءً على بعض الكائنات على مستوى النموذج إذا لزم الأمر.

  1. ستحتاج إما إلى إنشاء فئة فرعية uitableViewCell مخصصة أو تخصيص تخطيط UitableViewCell بشكل جيد (على الأقل عن طريق إضافة عرض فرعي لـ UISwitch) عند إنشاء كائنات خلايا جديدة في tableView:cellForRowAtIndexPath:.

  2. يجب تكوين واجهة المستخدم لإرسال رسالة إلى وحدة التحكم في العرض عندما تتغير قيمة التبديل باستخدام -[UIControl addTarget:action:forControlEvents:] ل UIControlEventValueChanged حدث.

  3. في تنفيذ طريقة الإجراء لتغيير قيمة التبديل هذا ، ستحتاج إلى تنفيذ المنطق لتحديد ما إذا كان ينبغي إضافة صفوف أو طرحها ، ثم إضافة أو طرح الصفوف بالفعل. يمكنك استخدام beginUpdates/endUpdates, insertRowsAtIndexPaths:withRowAnimation: و deleteRowsAtIndexPaths:withRowAnimation: للحصول على سلوك الرسوم المتحركة لسلس صف ناعم بدلاً من مجرد الاتصال reloadData.

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