Sheet va popover’lar


ULASHISH

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() } }
}

Misolni ishga tushirish »

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() } }
}

Misolni ishga tushirish »

Yuqoridagi misolda to‘liq ekranli modal oynani ko‘rsatish uchun .fullScreenCover modifikatoridan foydalanilgan.



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!