عرض ورقة
اعرض واجهة نمطية باستخدام sheet وbinding
عرض ورقة درس مجاني في SwiftUI Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في SwiftUI Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة SwiftUI Academy 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
What Is a Sheet?
A sheet is a card that slides up from the bottom to show extra content, like a form or detail, without leaving your current screen. 📄
Sheets Need a Trigger
A sheet appears when a boolean state flips to true. You store that flag in your view and flip it when the user taps something.
@State private var showSheet = falseThe .sheet Modifier
You attach .sheet to a view and bind it to your boolean. When the value is true, SwiftUI presents the content you return.
.sheet(isPresented: $showSheet) {
Text("Hello from the sheet!")
}The Dollar Sign Binding
The $ before showSheet passes a two-way binding, so SwiftUI can both read the flag and reset it to false when the sheet closes.
.sheet(isPresented: $showSheet) { DetailView() }Opening the Sheet
Set the boolean to true from a button action and the sheet animates up automatically. You never call a present function yourself. ✨
Button("Show Details") {
showSheet = true
}Putting It Together
Combine the button, the state, and the .sheet modifier on one view and you have a working modal in just a few lines.
Button("Open") { showSheet = true }
.sheet(isPresented: $showSheet) {
Text("Sheet content")
}Dismissing a Sheet
Users can swipe a sheet down to close it. To dismiss it in code, read the dismiss action from the environment inside the sheet.
@Environment(\.dismiss) private var dismissCalling dismiss()
Give the sheet a Done button that calls dismiss(). This is the polite way to let users finish and return to the main screen.
Button("Done") { dismiss() }Sheets Get Their Own State
A sheet is a normal SwiftUI view, so it can hold its own state, modifiers, and even another sheet. Treat it like any other screen.
Presenting With an Item
Use sheet(item:) when the sheet depends on a selected value. SwiftUI shows the sheet whenever that optional item is non-nil.
.sheet(item: $selectedBook) { book in
BookDetail(book: book)
}One Sheet at a Time
A view shows one sheet per modifier. For several modals, use separate flags or item bindings so they never collide on screen.
Quick Check
How do you tell SwiftUI to present a sheet?
Recap: Sheets
You learned that a sheet slides up from a boolean flag, attaches with .sheet, and closes via swipe or the dismiss action. Nice work! 🎉
تعلم Swift مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 30
- الدروس
- 120
الأسئلة الشائعة
هل درس «عرض ورقة» مجاني؟
نعم — نص درس «عرض ورقة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة SwiftUI Academy، انتقل إلى CoddyKit PRO. تتضمن دورة SwiftUI Academy 4 دروس في المجموع.
ماذا ستتعلم في «عرض ورقة»؟
اعرض واجهة نمطية باستخدام sheet وbinding تتمرن على SwiftUI Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ SwiftUI Academy؟
لا تُشترط خبرة سابقة. SwiftUI Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «عرض ورقة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس SwiftUI Academy هذا؟
نعم. كل درس في SwiftUI Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.