0Pricing
SwiftUI Academy · درس

Spacer وأولوية التخطيط

باعد بين View باستخدام Spacer وتحكّم في تحديد أحجامها

Spacer وأولوية التخطيط درس مجاني في SwiftUI Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في SwiftUI Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة SwiftUI Academy 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Meet Spacer

A Spacer is an invisible view that greedily expands to fill empty space inside a stack, pushing its neighbors apart.

Pushing Views Apart

Drop a Spacer between two views in an HStack and they fly to opposite ends, perfect for a label on the left and a value on the right.

HStack {
    Text("Total")
    Spacer()
    Text("$42")
}

Pushing to One Side

A single Spacer at the start shoves everything after it to the trailing edge. Place it first to right-align a row of content.

HStack {
    Spacer()
    Text("Right")
}

Centering with Two Spacers

Wrap a view in two spacers and it centers itself. Each Spacer takes an equal share of the leftover space on either side.

HStack {
    Spacer()
    Text("Center")
    Spacer()
}

Spacer in a VStack

In a VStack a Spacer pushes vertically. Put one at the bottom to pin a button to the lower edge of the screen.

VStack {
    Text("Top")
    Spacer()
}

Spacer with a Minimum Length

Give a Spacer a minLength to guarantee a gap that never collapses, even when the stack runs short on room.

HStack {
    Text("A")
    Spacer(minLength: 24)
    Text("B")
}

When Space Runs Out

When a stack is too small, SwiftUI must decide which view shrinks first. That decision is driven by each view's layout priority.

Setting Layout Priority

The layoutPriority modifier marks a view as more important. A higher number keeps its full size while lower-priority siblings shrink.

Text("Keep me full")
    .layoutPriority(1)

Protecting Important Text

When a long title and a subtitle compete, give the title higher layoutPriority so it shows fully and the subtitle truncates instead.

HStack {
    Text("Important headline").layoutPriority(1)
    Text("detail")
}

Spacer vs Priority

Remember the split: Spacer distributes leftover space, while layoutPriority decides who shrinks when there is not enough to go around.

Building a Clean Row

Combine both for tidy rows: a Spacer separates label and value, and priority ensures the key text never gets clipped.

HStack {
    Text("Username").layoutPriority(1)
    Spacer()
    Text("coddy")
}

Quick Check

One last check on space and priority.

Recap

You did it! A Spacer fills and distributes space while layoutPriority controls which views shrink first, giving you balanced, robust layouts.

الأسئلة الشائعة

هل درس «Spacer وأولوية التخطيط» مجاني؟

نعم — نص درس «Spacer وأولوية التخطيط» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة SwiftUI Academy، انتقل إلى CoddyKit PRO. تتضمن دورة SwiftUI Academy 4 دروس في المجموع.

ماذا ستتعلم في «Spacer وأولوية التخطيط»؟

باعد بين View باستخدام Spacer وتحكّم في تحديد أحجامها تتمرن على SwiftUI Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ SwiftUI Academy؟

لا تُشترط خبرة سابقة. SwiftUI Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «Spacer وأولوية التخطيط»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس SwiftUI Academy هذا؟

نعم. كل درس في SwiftUI Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. إضافة حشوة حول View
  2. تحديد أحجام View باستخدام frame
  3. الخلفيات ونصف قطر الزوايا
  4. Spacer وأولوية التخطيط
← العودة إلى SwiftUI Academy