سؤال

أريد إنشاء سيطرتي الخاصة التي ستتألف من العديد من Uilabels واثنين من uitextfields. المشكلة هي أنني لست متأكدا من أين أبدأ! قم بإجراء Subclass Uicontrol مباشرة، ثم قم بإنشاء المفتوين الفرعي وإضافتهم إلى العرض الرئيسي في IRIT:؟ أو هل يمكنني استخدام layoutsubviews؟ وسأحتاج إلى تجاوز رجال الدرجة:؟

أنا معتاد على إنشاء فئات "وحدة التحكم" التي ستتعامل مع إضافة فروعي، لكن إذا قمت بمعدل Uicontrol، فأنا لست متأكدا من الطرق التي يجب تجاوزها لتعيين الأمور!

لم أفعل ذلك من قبل لذلك سأقدر حقا بعض المؤشرات!

هتافات!

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

المحلول

هل انت متأكد أنك تريد UIControlب ال UIControl الغرض من الفئة مخصصة لعناصر تحكم بسيطة، وعادة ما تكون قابلة لإعادة الاستخدام مثل الأزرار وحقول النص تحتاج إلى دعم مجموعة محدودة من الأحداث (مثل "لمست" أو "تغيير القيمة"). إذا كنت تحاول فقط إنشاء طريقة لمجموعة عدة طرق عرض معا، يجب عليك استخدامها UIView في حين أن.

في كلتا الحالتين، إليك ما يجب عليك فعله:

  1. قم بإنشاء المفتويات الفرعية وتعيين معظم عقاراتهم في -initWithFrame:. وبعد احفظها في المتغيرات المثلية وإضافتها كأحذية فرعية من الذات.

  2. تعيين إطاراتهم في -layoutSubviews, ، حسابها بناء على self.bounds. وبعد سيتم استدعاء هذا في أي وقت تغيير حجم التغييرات، بما في ذلك بعد -initWithFrame:.

يجب ألا تحتاج إلى تنفيذ -drawRect: ما لم تكن بحاجة إلى إجراء رسم مخصص مع وظائف الرسومات الأساسية.

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