Sheet va popover’lar
SwiftUI navigatsiya: sheet va popover’lar
Modal oynalarni .sheet, .fullScreenCover va popover’lar yordamida ko‘rsating.
Oddiy sheet
Modal oynani .sheet yordamida ko‘rsating.
Misol
import SwiftUI
struct SheetsBasicDemo: View {
@State private var show = false
var body: some View {
Button("Show Sheet") { show = true }
.sheet(isPresented: $show) {
VStack(spacing: 12) {
Text("Modal")
Button("Close") { show = false }
}
.padding()
}
}
}
import SwiftUI
struct ContentView: View {
var body: some View { SheetsBasicDemo() }
}
import SwiftUI
@main
struct MyApp: App {
var body: some Scene { WindowGroup { ContentView() } }
}
Yuqoridagi misolda modal oynani ko‘rsatish uchun .sheet modifikatoridan foydalanilgan.
To‘liq ekranli qoplama (Full Screen Cover)
To‘liq ekranli modal oynani .fullScreenCover yordamida ko‘rsating.
Misol
import SwiftUI
struct FullScreenCoverDemo: View {
@State private var show = false
var body: some View {
Button("Present Full Screen") { show = true }
.fullScreenCover(isPresented: $show) {
CoverView(onClose: { show = false })
}
}
}
struct CoverView: View {
let onClose: () -> Void
var body: some View {
ZStack {
Color.black.opacity(0.85).ignoresSafeArea()
VStack(spacing: 12) {
Text("Full Screen").foregroundStyle(.white)
Button("Dismiss") { onClose() }
.tint(.white)
}
.padding()
}
}
}
import SwiftUI
struct ContentView: View {
var body: some View { FullScreenCoverDemo() }
}
import SwiftUI
@main
struct MyApp: App {
var body: some Scene { WindowGroup { ContentView() } }
}
Yuqoridagi misolda to‘liq ekranli modal oynani ko‘rsatish uchun .fullScreenCover modifikatoridan foydalanilgan.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
