우선 기본제공하는 SheetView를 사용해보자

PresentationDetent.large(Default)

Simulator Screen Recording - iPhone 14 Pro - 2023-06-17 at 22.18.35.gif

import SwiftUI

struct ExampleSheetView: View {
    private let availableDetents: [PresentationDetent] = [.large]
    @State private var showSheet: Bool = false
    
    var body: some View {
        VStack {
            Button(action: { showSheet = true }) {
                Text("Sheet Open")
            }
        }
        .sheet(isPresented: $showSheet) {
            VStack {
                Text("샘플 시트 뷰")
            }
            .presentationDetents(Set(availableDetents))
        }
    }
}

PresentationDetent.medium

Simulator Screen Recording - iPhone 14 Pro - 2023-06-17 at 22.24.40.gif

import SwiftUI

struct ExampleSheetView: View {
    private let availableDetents: [PresentationDetent] = [.medium]  //<<<<<
    @State private var showSheet: Bool = false
    
    var body: some View {
        VStack {
            Button(action: { showSheet = true }) {
                Text("Sheet Open")
            }
        }
        .sheet(isPresented: $showSheet) {
            VStack {
                Text("샘플 시트 뷰")
            }
            .presentationDetents(Set(availableDetents))
        }
    }
}

PresentationDetent.height(_ height: CGFloat)

Simulator Screen Recording - iPhone 14 Pro - 2023-06-17 at 22.47.43.gif

import SwiftUI

struct ExampleSheetView: View {
    private let availableDetents: [PresentationDetent] = [.height(200)] //<<<<<
    @State private var showSheet: Bool = false
    
    var body: some View {
        VStack {
            Button(action: { showSheet = true }) {
                Text("Sheet Open")
            }
        }
        .sheet(isPresented: $showSheet) {
            VStack {
                Text("샘플 시트 뷰")
            }
            .presentationDetents(Set(availableDetents))
        }
    }
}

PresentationDetent.fraction(_ fraction: CGFloat)

Simulator Screen Recording - iPhone 14 Pro - 2023-06-17 at 22.48.38.gif

import SwiftUI

struct ExampleSheetView: View {
    private let availableDetents: [PresentationDetent] = [.fraction(0.8)] //<<<<<
    @State private var showSheet: Bool = false
    
    var body: some View {
        VStack {
            Button(action: { showSheet = true }) {
                Text("Sheet Open")
            }
        }
        .sheet(isPresented: $showSheet) {
            VStack {
                Text("샘플 시트 뷰")
            }
            .presentationDetents(Set(availableDetents))
        }
    }
}