{"id":"l-fig-2-2","courseId":"figma-ui-design","lang":"ar","kind":"lesson","summary":"تحكّم في كيفية تحديد الـ frames بـ Auto layout وأبنائها لأحجامهم عبر Hug contents وFill container وFixed، واضبط حدودًا دنيا وقصوى، واجعل الشرائح تلتفّ إلى أسطر جديدة، وأخرج الشارات من الـ flow.","html":"<p>صار صف العادة يرصّ نفسه، لكن اختبره بطريقة صوفيا: اسحب frame شاشة Today ليصبح أعرض. تبقى الصفوف على عرضها القديم، تاركة شريطًا فارغًا من الشاشة على اليمين. اسحبه ليصبح أضيق فتسقط أزرار التعليم خارج الحافّة. حُلّت مشكلة التراصّ؛ أما الأحجام فلا.</p>\n<p>في الـ Auto layout لكل طبقة سلوكان للحجم، واحد للعرض وواحد للارتفاع. اضبطهما بشكل صحيح وسيعمل الصف نفسه على أي هاتف، وبأي لغة، ومع أي اسم عادة.</p>\n<h2 id=\"sec-1\" tabindex=\"-1\">Hug وFill وFixed</h2>\n<p>تضبط الحجم من عناصر التحكم في العرض والارتفاع في الشريط الجانبي الأيمن. هناك ثلاثة خيارات.</p>\n<p><strong>Hug contents</strong> يجعل الـ frame بحجم أبنائه مع الـ padding بالضبط. الشريحة التي تحتضن محتواها تكبر حين تتغيّر تسميتها من “Daily” إلى “Weekends”. الـ frames والنصوص وحدها يمكنها الاحتضان، لأنها وحدها لها محتوى.</p>\n<p><strong>Fill container</strong> يجعل الابن يأخذ كل المساحة المتاحة في أبيه ذي الـ Auto layout على ذلك المحور. وإذا كان أخوان كلاهما على Fill، يتقاسمان المساحة بالتساوي.</p>\n<p><strong>Fixed</strong> يضبط حجمًا دقيقًا لا يتغيّر أبدًا. الأيقونات وزر التعليم ثابتة على 32 × 32 لأن هدف النقر في زر التعليم يجب ألّا يكبر أو يصغر مع النص المجاور له.</p>\n<figure class=\"diagram\"><svg class=\"diagram-svg\" focusable=\"false\" viewBox=\"0 0 680 270\" role=\"img\" aria-labelledby=\"l-fig-2-2-t1\"><defs><marker id=\"arrow-l-fig-2-2-1\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\"><path d=\"M0 0 L10 5 L0 10 z\" class=\"d-arrowhead\"/></marker></defs>\n  <title id=\"l-fig-2-2-t1\">ثلاث نسخ من صف. حين تكون كومة النصوص على Hug، يجلس زر التعليم مباشرة بعد النص. وعلى Fill، تتمدّد الكومة ويجلس الزر عند الحافّة اليمنى. وعلى Fixed، تكون الكومة بعرض محدّد ويُقصّ الاسم الطويل.</title>\n  <text class=\"d-label-strong\" x=\"20\" y=\"32\">Hug</text>\n  <rect class=\"d-box\" x=\"100\" y=\"12\" width=\"560\" height=\"36\" rx=\"8\"/>\n  <rect class=\"d-box-primary\" x=\"110\" y=\"18\" width=\"24\" height=\"24\" rx=\"6\"/>\n  <rect class=\"d-box-accent\" x=\"144\" y=\"18\" width=\"120\" height=\"24\" rx=\"4\"/>\n  <text class=\"d-label\" x=\"152\" y=\"35\">Read</text>\n  <circle class=\"d-dot\" cx=\"286\" cy=\"30\" r=\"12\"/>\n  <text class=\"d-label-strong\" x=\"20\" y=\"122\">Fill</text>\n  <rect class=\"d-box\" x=\"100\" y=\"102\" width=\"560\" height=\"36\" rx=\"8\"/>\n  <rect class=\"d-box-primary\" x=\"110\" y=\"108\" width=\"24\" height=\"24\" rx=\"6\"/>\n  <rect class=\"d-box-accent\" x=\"144\" y=\"108\" width=\"470\" height=\"24\" rx=\"4\"/>\n  <text class=\"d-label\" x=\"152\" y=\"125\">Read</text>\n  <circle class=\"d-dot\" cx=\"636\" cy=\"120\" r=\"12\"/>\n  <text class=\"d-label-strong\" x=\"20\" y=\"212\">Fixed</text>\n  <rect class=\"d-box\" x=\"100\" y=\"192\" width=\"560\" height=\"36\" rx=\"8\"/>\n  <rect class=\"d-box-primary\" x=\"110\" y=\"198\" width=\"24\" height=\"24\" rx=\"6\"/>\n  <rect class=\"d-box-warn\" x=\"144\" y=\"198\" width=\"160\" height=\"24\" rx=\"4\"/>\n  <text class=\"d-label\" x=\"152\" y=\"215\">Read 20 pages be…</text>\n  <circle class=\"d-dot\" cx=\"326\" cy=\"210\" r=\"12\"/>\n  <text class=\"d-label-muted\" x=\"380\" y=\"260\" text-anchor=\"middle\">Fill يدفع الزر إلى الحافّة؛ وFixed يقصّ الأسماء الطويلة.</text>\n</svg><figcaption>صف العادة نفسه مع ثلاثة خيارات لحجم كومة النصوص</figcaption></figure>\n<p>إعدادات صف العادة في Steady هي:</p>\n<div class=\"table-wrap\" role=\"region\" aria-label=\"جدول قابل للتمرير\" tabindex=\"0\"><table><thead>\n<tr>\n<th>الطبقة</th>\n<th>العرض</th>\n<th>الارتفاع</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Habit row</td>\n<td>Fill container</td>\n<td>Hug contents</td>\n</tr>\n<tr>\n<td>Icon وCheck button</td>\n<td>Fixed 32</td>\n<td>Fixed 32</td>\n</tr>\n<tr>\n<td>Text stack</td>\n<td>Fill container</td>\n<td>Hug contents</td>\n</tr>\n<tr>\n<td>Habit name وStreak</td>\n<td>Fill container</td>\n<td>Hug contents</td>\n</tr>\n</tbody>\n</table></div><p>اقرأه من الخارج إلى الداخل. الصف يملأ عرض القائمة. وداخله، تملأ كومة النصوص كل ما تتركه الأيقونة والزر، فيندفع الزر إلى الحافّة اليمنى. واسم العادة يملأ عرض الكومة ويحتضن ارتفاعها، فيلتفّ الاسم الطويل إلى سطر ثانٍ ويزداد ارتفاع الصف ليتّسع له. هذا بالضبط السلوك الذي تريده على هاتف بعرض 375 px.</p>\n<p>يفرض Figma قاعدة واحدة نيابة عنك: لا يمكن للأب أن يحتضن ابنًا يملؤه على المحور نفسه، لأن كلًّا منهما سينتظر قياس الآخر. إذا ضبطت ابنًا على Fill container، يحوّل Figma الأب من Hug إلى Fixed على ذلك المحور.</p>\n<aside class=\"callout callout-mistake\" role=\"note\"><p class=\"callout-title\"><svg class=\"icon \" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" focusable=\"false\"><path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\"/><path d=\"M12 9v4\"/><path d=\"M12 17h.01\"/></svg><span><span class=\"callout-kind\">خطأ شائع</span><span class=\"callout-sep\" aria-hidden=\"true\"> · </span>عروض ثابتة في كل مكان</span></p>\n<p>التصميم على 393 px وكتابة 353 في كل عرض يعمل بشكل مثالي عند 393 px ولا يعمل في أي مكان آخر. قبل أن تكتب رقمًا ثابتًا، اسأل: هل يجب ألّا يتغيّر حجم هذا الشيء فعلًا؟ الأيقونات والصور الشخصية، نعم. الصفوف والأزرار داخل اللوحات والنصوص، في الغالب لا.</p>\n</aside>\n<h2 id=\"sec-2\" tabindex=\"-1\">الحدّ الأدنى والأقصى</h2>\n<p>قد ينتج Fill وHug أحجامًا سخيفة في الحالات القصوى. الزر بعرض كامل يبدو جيدًا على الهاتف ومضحكًا بعرض 1,000 px على جهاز لوحي. والشريحة التي تحتضن تسمية من حرف واحد قد تصبح أضيق من رأس الإصبع.</p>\n<p>تضع خيارات الحدّ الأدنى والأقصى للعرض والارتفاع (تجدها في القوائم المنسدلة للعرض والارتفاع) هذه الحدود. يستخدم Steady:</p>\n<ul>\n<li>زر <strong>Save habit</strong>: ‏Fill container، مع <strong>max width 480</strong>، فيتوقّف عن النمو على الأجهزة اللوحية.</li>\n<li><strong>الشريحة</strong>: Hug contents، مع <strong>min width 64</strong>، فتبقى التسميات القصيرة هدفًا مريحًا للمس.</li>\n<li><strong>حقل النص</strong>: Fill container، مع <strong>min width 200</strong>، فلا ينهار أبدًا في تخطيط ضيّق.</li>\n</ul>\n<h2 id=\"sec-3\" tabindex=\"-1\">الـ Wrap</h2>\n<p>شرائح التكرار في لوحة New habit مصفوفة أفقيًا. “Daily, Weekdays, Weekends, Custom” تتّسع عند 393 px لكن ليس عند 320 px أو بالألمانية. فعّل <strong>Wrap</strong> للصف، فتنتقل الشرائح التي لا تتّسع إلى سطر جديد بدل أن تفيض. وقت كتابة هذا الدرس، يتيح لك الـ frame الملتفّ ضبط المسافة بين الأسطر بشكل منفصل عن الـ gap بين العناصر؛ استخدم الـ 8 px نفسها لتشكّل الشرائح شبكة منتظمة.</p>\n<p>الـ Wrap لمجموعات العناصر المتشابهة مثل الشرائح أو الوسوم أو الصور الشخصية. لا تجعل صف العادة يلتفّ: ففي شاشة ضيّقة سينزل زر التعليم إلى سطر خاص به.</p>\n<h2 id=\"sec-4\" tabindex=\"-1\">إخراج طبقة من الـ flow</h2>\n<p>أحيانًا يجب ألّا يشارك ابن واحد في الـ flow أصلًا: شارة لهب صغيرة على زاوية أيقونة العادة، أو نقطة تشير إلى تذكير غير مقروء. حدّده وفعّل <strong>Ignore auto layout</strong> (كان اسمه <em>absolute position</em> حتى وقت قريب، لذا تستخدم الشروحات القديمة ذلك الاسم). تبقى الطبقة داخل الـ frame لكنها تتوقّف عن التأثير في إخوتها، وتضعها بالـ constraints، هنا Right وTop، فتلتصق بالزاوية حين يتغيّر حجم الأيقونة.</p>\n<aside class=\"callout callout-tip\" role=\"note\"><p class=\"callout-title\"><svg class=\"icon \" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5\"/><path d=\"M9 18h6\"/><path d=\"M10 22h4\"/></svg><span><span class=\"callout-kind\">نصيحة</span><span class=\"callout-sep\" aria-hidden=\"true\"> · </span>اختبر بمحتوى قبيح</span></p>\n<p>استبدل اسم عادة واحدة بـ “Practise Spanish vocabulary with flashcards for fifteen minutes”، واجعل أحد الـ streaks “1,245-day streak”، وغيّر عرض الـ frame من 320 إلى 430. إذا لم يتداخل شيء، ولم يُقصّ شيء دون قصد، ولم يطفُ شيء، فإعدادات الحجم صحيحة.</p>\n</aside>\n<p>صارت صفوفك تتكيّف مع العرض والمحتوى. في الدرس التالي تمنح كل تلك الفجوات والـ paddings نظامًا، فتصبح 12 و16 و24 قرارات بدل أن تكون تخمينات.</p>\n","toc":[{"id":"sec-1","text":"Hug وFill وFixed","level":2},{"id":"sec-2","text":"الحدّ الأدنى والأقصى","level":2},{"id":"sec-3","text":"الـ Wrap","level":2},{"id":"sec-4","text":"إخراج طبقة من الـ flow","level":2}],"takeaways":["لكل طبقة في الـ Auto layout سلوك للعرض وآخر للارتفاع؛ Hug contents يتبع الأبناء، وFill container يأخذ المساحة المتاحة في الأب، وFixed لا يتغيّر أبدًا.","لا يمكن للأب أن يحتضن (Hug) ابنًا يملؤه (Fill) على المحور نفسه، لذلك يحوّل Figma ذلك الأب إلى Fixed.","الحدّ الأدنى والأقصى للعرض يمنعان الـ components من أن تصبح ضيّقة أو عريضة بشكل سخيف في الشاشات غير المعتادة.","خيار Wrap يتيح للمحتوى الأفقي مثل الشرائح أن ينتقل إلى سطر جديد بدل أن يفيض.","خيار Ignore auto layout يخرج ابنًا واحدًا من الـ flow لتحدّد موضعه بالـ constraints، وهذا يناسب الشارات والنقاط العائمة."],"further":[{"title":"Guide to auto layout (resizing, wrap, min and max)","url":"https://help.figma.com/hc/en-us/articles/360040451373-Guide-to-auto-layout"},{"title":"Create a responsive card with auto layout and constraints","url":"https://help.figma.com/hc/en-us/articles/18894664907287-Create-a-responsive-card-with-auto-layout-and-constraints"}],"quiz":[{"q":"<p>يجب أن يمتدّ الزر الأساسي “Save habit” على عرض اللوحة في أي هاتف، مع بقاء ارتفاعه الطبيعي. أيّ الإعدادات تناسب؟</p>","options":[{"text":"العرض Hug contents، والارتفاع Fill container.","why":"العرض Hug يجعل الزر بعرض تسميته فقط، والارتفاع Fill سيمدّه إلى أسفل اللوحة."},{"text":"العرض Fixed بقيمة 353، والارتفاع Fixed بقيمة 48.","why":"العرض الثابت ينكسر في أي هاتف لا يطابق بالضبط العرض الذي صمّمت عليه."},{"text":"العرض Fill container، والارتفاع Hug contents.","why":"صحيح. Fill يأخذ عرض اللوحة؛ وHug يُبقي الارتفاع مساويًا للتسمية مع الـ padding."},{"text":"العرض Fill container، والارتفاع Fill container.","why":"الارتفاع Fill في لوحة عمودية سيجعل الزر يكبر ليملأ كل المساحة العمودية المتبقية."}],"answer":2},{"q":"<p>داخل صف العادة، كومة النصوص مضبوطة على Hug contents. في هاتف عريض يجلس زر التعليم ملاصقًا لاسم قصير بدل أن يكون على الحافّة اليمنى. ما الإصلاح؟</p>","options":[{"text":"اضبط عرض كومة النصوص على Fill container لتأخذ المساحة المتبقية وتدفع الزر إلى الحافّة.","why":"صحيح. Fill container يجعل الكومة تمتصّ العرض المتبقي، فيستقرّ الزر عند الـ padding الأيمن."},{"text":"اضبط عرض زر التعليم على Fill container.","why":"سيتمدّد الزر إلى شكل كبسولة عريضة بدل أن يبقى دائرة بقطر 32 px."},{"text":"أضف مستطيلًا مرنًا كفاصل بين النص والزر.","why":"الفواصل تخفي النيّة. الكومة نفسها هي التي يجب أن تأخذ المساحة."},{"text":"اضبط الـ gap في الصف على التوزيع التلقائي.","why":"التوزيع التلقائي قد يدفع الزر إلى اليمين، لكن النص لن يلتفّ عندها عند عرض متوقّع. Fill على الكومة أوضح."}],"answer":0},{"q":"<p>ضبطت عرض بطاقة على Hug contents، ثم ضبطت ابنًا داخلها على Fill container على المحور نفسه. ماذا يفعل Figma؟</p>","options":[{"text":"يُبقي الإعدادين فتكبر البطاقة إلى ما لا نهاية.","why":"يمنع Figma هذه الحلقة. الأب لا يستطيع قياس أبنائه بينما يقيس أحد الأبناء الأب."},{"text":"يحوّل عرض البطاقة إلى Fixed.","why":"صحيح. الابن الذي يملأ أباه يحتاج أبًا بحجم محدّد، لذا يغيّر Figma الـ Hug إلى Fixed على ذلك المحور."},{"text":"يتجاهل إعداد Fill في الابن.","why":"يحلّ Figma التعارض من جهة الأب، لا الابن."},{"text":"يفعّل Wrap في البطاقة.","why":"الـ Wrap لا علاقة له بذلك. إنه يغيّر فقط طريقة انتقال الأبناء إلى أسطر جديدة."}],"answer":1},{"q":"<p>يعرض Steady شارة لهب صغيرة تتداخل مع الزاوية العلوية اليمنى لأيقونة العادة. كيف تبنيها داخل frame الأيقونة الذي يستخدم Auto layout؟</p>","options":[{"text":"تضيف الشارة كابن عادي وتضبط gap سالبًا.","why":"الـ gap السالب يجعل كل الإخوة في الـ flow يتداخلون، لا شارة واحدة في زاوية واحدة."},{"text":"تضع الشارة في frame منفصل فوق الصف كله.","why":"لن تتحرّك مع الأيقونة حين يُعاد ترتيب الصف، فستنحرف في الشاشات الأخرى."},{"text":"ترسمها في الأعلى باستخدام group وتحرّكها إلى مكانها.","why":"الـ groups داخل الـ Auto layout تنضمّ إلى الـ flow أيضًا؛ والتحريك اليدوي يضيع مع إعادة الترتيب التالية."},{"text":"تضيف الشارة كابن، وتفعّل Ignore auto layout، وتثبّتها بالـ constraints ‏Right وTop.","why":"صحيح. Ignore auto layout يخرجها من الـ flow، والـ constraints تُبقيها في الزاوية حين يتغيّر حجم الأيقونة."}],"answer":3}],"exercise":{"kind":"choice","multiple":true,"options":["wrap-chips","max-button","fill-label","hug-sheet","fill-chips","ignore-toggle"],"correct":["wrap-chips","max-button","fill-label"],"title":"اجعل لوحة New habit تصمد في أي شاشة","prompt":"<p>سجّل فريق ضمان الجودة (QA) ثلاثة أخطاء على لوحة New habit: على هاتف بعرض 320 px تخرج الشرائح عن الحافّة (انظر الرسم)، ومفتاح Reminder يلتصق بتسميته بدل أن يجلس عند الحافّة اليمنى، وعلى iPad يتمدّد زر Save habit حتى عرض 900 px.</p>\n<p>:::figure لوحة New habit على هاتف بعرض 320 px\n<svg viewBox=\"0 0 420 380\" role=\"img\" aria-labelledby=\"ex1\"></p>\n  <title id=\"ex1\">لوحة سفلية ضيّقة. حقل الاسم يتّسع. شرائح التكرار الأربع تتجاوز الحافّة اليمنى للّوحة. تسمية Reminder يليها مفتاح التبديل مباشرة بدل أن يجلس المفتاح عند الحافّة اليمنى. زر Save habit يتّسع.</title>\n  <rect class=\"d-box\" x=\"20\" y=\"20\" width=\"300\" height=\"340\" rx=\"20\"/>\n  <text class=\"d-label-strong\" x=\"40\" y=\"56\">New habit</text>\n  <rect class=\"d-box\" x=\"40\" y=\"76\" width=\"260\" height=\"40\" rx=\"8\"/>\n  <text class=\"d-label-muted\" x=\"52\" y=\"101\">Habit name</text>\n  <rect class=\"d-box-accent\" x=\"40\" y=\"136\" width=\"64\" height=\"30\" rx=\"15\"/>\n  <text class=\"d-label\" x=\"72\" y=\"156\" text-anchor=\"middle\">Daily</text>\n  <rect class=\"d-box-accent\" x=\"112\" y=\"136\" width=\"96\" height=\"30\" rx=\"15\"/>\n  <text class=\"d-label\" x=\"160\" y=\"156\" text-anchor=\"middle\">Weekdays</text>\n  <rect class=\"d-box-accent\" x=\"216\" y=\"136\" width=\"96\" height=\"30\" rx=\"15\"/>\n  <text class=\"d-label\" x=\"264\" y=\"156\" text-anchor=\"middle\">Weekends</text>\n  <rect class=\"d-box-warn\" x=\"320\" y=\"136\" width=\"84\" height=\"30\" rx=\"15\"/>\n  <text class=\"d-label\" x=\"362\" y=\"156\" text-anchor=\"middle\">Custom</text>\n  <text class=\"d-label\" x=\"40\" y=\"210\">Reminder</text>\n  <rect class=\"d-box-primary\" x=\"120\" y=\"194\" width=\"44\" height=\"24\" rx=\"12\"/>\n  <rect class=\"d-box-primary\" x=\"40\" y=\"290\" width=\"260\" height=\"48\" rx=\"12\"/>\n  <text class=\"d-label-strong\" x=\"170\" y=\"320\" text-anchor=\"middle\">Save habit</text>\n</svg>\n:::\n<p>اللوحة frame عمودي بـ Auto layout وعرضه مضبوط على Fill container. اختر <strong>كل</strong> تغيير يصلح أحد هذه الأخطاء إصلاحًا سليمًا.</p>\n","hints":["طابق كل خطأ مع أداة حجم واحدة: Wrap، أو الحدّ الأدنى/الأقصى، أو Fill container.","في حالة مفتاح التبديل، يجب أن تذهب المساحة المتبقية إلى مكان ما. أيّ ابن يجب أن يمتصّها؟","فعّل Wrap لصف الشرائح، وضع حدًّا أقصى لعرض الزر، واجعل التسمية على Fill."],"explanation":"<p>تفعيل <strong>Wrap</strong> لصف الشرائح يتيح لـ “Custom” الانتقال إلى سطر ثانٍ بدل أن يفيض. و<strong>الحدّ الأقصى للعرض</strong> على زر Save habit (يستخدم Steady القيمة 480) يمنع Fill container من إنتاج شريط بعرض 900 px على الأجهزة اللوحية. وضبط <strong>تسمية Reminder على Fill container</strong> يجعلها تمتصّ العرض المتبقي، فيندفع مفتاح التبديل إلى الـ padding الأيمن للصف في كل شاشة. أما جعل اللوحة تحتضن محتواها فسيقلّصها إلى عرض أعرض أبنائها بدل أن تملأ الشاشة؛ وجعل كل الشرائح على Fill يمطّها إلى كبسولات غير متساوية؛ وإخراج المفتاح من الـ flow بـ Ignore auto layout يصلح عرضًا واحدًا ويكسر البقية.</p>\n","checkLabels":{},"optionText":{"wrap-chips":{"text":"فعّل Wrap لصف شرائح التكرار.","why":"صحيح. الشرائح التي لا تتّسع تنتقل إلى سطر جديد، وهذا بالضبط ما وُجد الـ Wrap من أجله."},"max-button":{"text":"امنح زر Save habit حدًّا أقصى للعرض، مثل 480.","why":"صحيح. يحافظ الزر على Fill container في الهواتف لكنه يتوقّف عن النمو في الشاشات الكبيرة."},"fill-label":{"text":"اضبط عرض تسمية Reminder على Fill container.","why":"صحيح. تأخذ التسمية العرض الفائض، فيستقرّ مفتاح التبديل عند الحافّة اليمنى في كل الأحجام."},"hug-sheet":{"text":"اضبط عرض اللوحة على Hug contents.","why":"اللوحة المحتضنة لمحتواها تأخذ عرض أعرض أبنائها، فلن تمتدّ على الشاشة بعد ذلك، وستنتقل الأخطاء إلى مكان آخر بدل أن تختفي."},"fill-chips":{"text":"اضبط كل شريحة على Fill container.","why":"ستتمدّد الشرائح لتتقاسم عرض الصف بالتساوي، ولن تتّسع مع ذلك في شاشة بعرض 320 px. الشرائح يجب أن تحتضن تسمياتها."},"ignore-toggle":{"text":"فعّل Ignore auto layout لمفتاح التبديل واسحبه إلى الحافّة اليمنى.","why":"يمكنك تثبيته بالـ constraints، لكن إخراجه من الـ flow يعني أن التسمية قد تمتدّ الآن تحته. Fill على التسمية أبسط وأمتن."}}},"words":695,"readMinutes":4}