قوانين الـ AutoLayout - القاعدة الثالثه

باسل بارقبهمنذ 5 سنوات

القانون الثالث استخدم الـ UIView في أي وقت تعتقد بأن القيود أصبحت معقده

ما الذي اقصده ؟ 

عندما تكون الصفحه تحتوي على عناصر كثيره = تصميم معقد وضع قيود لكل عنصر على حده سوف يسبب الكثير من المشاكل لذا افضل حل هو تقسم الصفحة الى عدة اقسام بضم عدة عناصر بداخل View وحده ومن ثم إضافة القيود للعناصر في حال كنت مطور ويب سوف تكون متعود على تقسم الصفحة الى Div (صندوق) بحيث كل جزئيه تكون بداخل Div (صندوق) واحد

السبب هو وضع قيود على مساحة صغيره اسهل واقل مشاكل من وضع القيود على مساحة كبيرة !

في هذا المقطع

شاهد الصورة المتحركة - انتظر التحميل للمشاهدة

 

اضفت عدة عناصر مكونة من label و button اضفت الازرار بشكل افقي والنصوص بشكل عامودي قمت بإحاطة الازرار بـ View وأيضا قمت بإحاطة النصوص بـ View ومن ثم قمت بإحاطة كلا الـ View بـ View اكبر حجماً ومن ثم قمت بتغيير الألوان فقط للتوضيح الـ Views المختلفة ومن ثم قمت بإضافة قيود للـ View الأبيض (الأكبر حجما)


كما في الصورة التالية 

من الصورة السابقة تستطيع معرفة ماهي القيود عند الضغط على ايقونة المسطرة وقراءة النص المكتوب بجانب كل قيد الذي قمته بفعله هو ثبت الحجم بـ ١٧١ واضفت قيد للأعلى واليمين واليسار بمقدار ٢٠ ومن ثم اضفت قيود الى الـ View الأحمر (الذي يحتوي على الأزرار)

كما في الصورة التالية

اضفت قيد لليمين وللأسفل بمقدار ٢٠ ثبت الطول بمقدار ٧٠ وأيضا اضفت aspect ratio واخيراً اضفت قيود الى الـ View الأخضر الذي يحتوي على النصوص 

كما في الصورة التالية 

اضفت قيد يسار بمقدار ١٠ وفوق وتحت بمقدار ٢٠ وثبت العرض بمقدار ٨٨ الان تستطيع تشغيل التطبيق بأي حجم وبأي وضع وسوف تجدها تظهر بشكل مناسب الطريقة هذه تسهلك في وضع القيود وتجعلها ابسط من إضافة قيود على كل عنصر على حده في مساحة كبيرة 

ملاحظة : في أغلب الحالات سوف تحتاج لإضافة قيود لكل عنصر بداخل كل View لكن في أوقات أخرى كالحالة السابقة لن تحتاج الى اضافة قيود للعناصر .

الطريقة السابقة كانت مستخدمة بشكل شاسع ولكن منذ iOS9 ابل أعلنت عن الـ StackView وجعلت الامر اكثر سهولة ! ولكن لا توجد طريقة مناسبة بشكل دائم أحيانا تحتاج تضيف قيود لعناصر محدده كلاً على حده أحيانا تحتاج تستخدم طريقة الـ View واحيانا سوف تستخدم الـ StackView (سوفه اذكره في الفقرة القادمة) واحيانا سوف تدمج عدة طرق مع بعض كإستخدام الـ View مع الـ StackView

التعليقات (0)

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !