SwiftUI Academy · درس

دمج علامات التبويب مع حاويات التكديس

امنح كل علامة تبويب NavigationStack خاصاً بها

الدرس 4 من 413 خطوة

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

علامات التبويب مع التنقل

تتيح معظم التطبيقات الحقيقية للمستخدمين النقر على علامة تبويب ثم الانتقال إلى شاشات التفاصيل. وهذا يعني الجمع بين TabView وNavigationStack. 🧭

مكدس واحد لكل علامة تبويب

النمط بسيط: امنح كل علامة تبويب NavigationStack خاصًا بها، بحيث يحتفظ كل قسم بسجل دفع وإرجاع مستقل.

تغليف شاشة علامة التبويب

ضع NavigationStack داخل كل علامة تبويب، وضع محتوى تلك العلامة بداخله. وسيظل شريط علامات التبويب ثابتًا أثناء التنقل.

NavigationStack {
    HomeScreen()
}
.tabItem { Label("Home", systemImage: "house") }

المكدس داخل TabView

الترتيب مهم: يجب أن يكون NavigationStack داخل TabView، وليس العكس، حتى لا يختفي الشريط عند التمرير.

سجل مستقل

بما أن كل علامة تبويب تملك مكدسها الخاص، فإن التعمق في إحدى العلامات يترك العلامات الأخرى من دون تغيير عند العودة إليها.

مثال كامل يجمع العناصر

هنا تغلف كل علامة من علامتي التبويب شاشتها داخل مكدس، مما يمنح Home وSearch تنقلًا خاصًا بكل منهما.

TabView {
    NavigationStack { HomeScreen() }
        .tabItem { Label("Home", systemImage: "house") }
    NavigationStack { SearchScreen() }
        .tabItem { Label("Search", systemImage: "magnifyingglass") }
}

دفع شاشات التفاصيل

داخل علامة التبويب، استخدم NavigationLink كالمعتاد لدفع شاشات التفاصيل إلى مكدس تلك العلامة.

NavigationLink("Details") {
    DetailScreen()
}

تبقى العناوين خاصة بكل علامة تبويب

عيّن navigationTitle داخل كل مكدس، بحيث تعرض كل علامة تبويب عنوانها الخاص في الشريط العلوي.

يحتفظ تبديل علامات التبويب بمستوى التعمق

عند الانتقال إلى علامة تبويب أخرى ثم العودة، يُحافَظ على موضعك في تنقل تلك العلامة، تمامًا كما في التطبيقات الأصلية.

تجنب تكديس الشريط

لا تغلف TabView بالكامل داخل NavigationStack واحد. فقد يؤدي ذلك إلى دفع شريط علامات التبويب بطرق غريبة.

بنية قابلة للتوسع

يتوسع هذا التخطيط، الذي يجمع علامات التبويب والمكدسات، بسلاسة. أضف علامة تبويب، وامنحها مكدسًا، وسيظل باقي التطبيق يعمل. ✨

اختبار سريع

لنتحقق من الطريقة الصحيحة لتضمين التنقل مع علامات التبويب.

مراجعة: الجمع بين علامات التبويب والمكدسات

غلّف محتوى كل علامة تبويب داخل NavigationStack خاص بها ضمن TabView، وسيحصل كل قسم على تنقل مستقل مع بقاء شريط علامات التبويب ثابتًا. 🎉

البدء مجانًا

تعلم Swift مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

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

هل درس «دمج علامات التبويب مع حاويات التكديس» مجاني؟

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

ماذا ستتعلم في «دمج علامات التبويب مع حاويات التكديس»؟

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

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

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

كم من الوقت يستغرق درس «دمج علامات التبويب مع حاويات التكديس»؟

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

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

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

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

  1. إنشاء شريط علامات تبويب
  2. عناصر علامات التبويب والشارات
  3. ربط علامة التبويب المحددة
  4. دمج علامات التبويب مع حاويات التكديس
← العودة إلى SwiftUI Academy