화면을 모달로 표시한다.

화면 전체를 채우지 않음
struct Sheet: View {
	@State private var presentCardModal = false
    var body: some View {
    }
}
struct Sheet: View {
	@State private var presentCardModal = false
    var body: some View {
    	Button {
        } label: {
        }
        .sheet(isPresented: $presentCardModal) {
        	//onDismiss
            //시트 닫은 다음 호출됨
        } content: {
        	//표시할 뷰 리턴
        }
    }
}
보통 버튼일 경우 버튼 누를 시로 작업
struct Sheet: View {
	@State private var presentCardModal = false
    var body: some View {
    	Button {
        	presentCardModal = true
        } label: {
        }
        .sheet(isPresented: $presentCardModal) {
        	//onDismiss
            //시트 닫은 다음 호출됨
        } content: {
        	//표시할 뷰 리턴
        }
    }
}

화면 전체를 채움
struct Sheet: View {
	@State private var presentFullScreen = false
    var body: some View {
    	Button {
        } label: {
        }
        .fullScreenCover(isPresented: $presentFullscreen) {
        	//onDismiss
        } content: {
        	//표시할 뷰 리턴
        }
    }
}
cardModal과 달리 화면을 닫는 코드가 없으므로 직접 추가해야 한다.
@Environment(\.presentationMode) var presentationMode
//iOS15 이상
@Environment(\.dismiss) var dismiss
var body: some View {
	...
    .overlay(alignment: .top) {
    	Button {
        	presentationMode.wrappedValue.dismiss()
            //iOS15
            presentationMode.dismiss()
        } label: {
        	...
        }
    }
}
isPresented에 사용했던 State var을 모달뷰에 전달하여 false로 바꿈을 통해 뷰를 dismiss하는 방식
@Binding var presentModal: Bool
#Preview {
	ImageScene(presentModal: .constant(true))
}
var body: some View {
	...
    .overlay(alignment: .top) {
    	Button {
        	presentModal = false
        } label: {
        	...
        }
    }
}
struct Sheet: View {
	@State private var presentFullScreen = false
    var body: some View {
    	Button {
        } label: {
        }
        .fullScreenCover(isPresented: $presentFullscreen) {
        	//onDismiss
        } content: {
        	ImageScene(presentModal: $presentFullScreen)
        }
    }
}
nil이 저장되면 표시 안하고 값이 저장되면 표시
트리거뷰에서는 해당 속성에 값을 저장해야 함.
//Identifiable 프로토콜 채용
@State private var imageData: ImageData?
var body: some View {
	Button {
    	imageData = ImageData()
    } label: { 
    }
	.sheet(item: $imageData, onDismiss: {}) { data in
    	//뷰 리턴
    }
}