-
SwiftUI Sheet 57 - 여러개 Sheet 열기SwiftUI 100 레시피/Sheets 2022. 6. 27. 12:02
#1. ContentView
import SwiftUI
enum ActiveSheet: Identifiable{
var id: UUID{
return UUID()
}
case addItem
case addItem2
}
struct ContentView: View {
@State private var activeSheet: ActiveSheet?
var body: some View {
VStack {
Button("Add Item"){
activeSheet = .addItem
}.font(.largeTitle)
Button("Add Item2"){
activeSheet = .addItem2
}.font(.largeTitle)
}.padding()
.sheet(item: $activeSheet){ sheet in
switch sheet{
case .addItem:
AddItemView()
case .addItem2:
//Text("Show Item")
AddItemView2()
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
#2.AddItemView
import SwiftUI
struct AddItemView: View {
var body: some View {
VStack {
Text("AddItemView")
}.frame(maxWidth:.infinity, maxHeight: .infinity)
.background(Color.blue)
.foregroundColor(.white)
.font(.largeTitle)
}
}
struct AddItemView_Previews: PreviewProvider {
static var previews: some View {
AddItemView()
}
}
#3. AddItemView2
import SwiftUI
struct AddItemView2: View {
var body: some View {
VStack {
Text("AddItemView2")
}.frame(maxWidth:.infinity, maxHeight: .infinity)
.background(Color.orange)
.foregroundColor(.white)
.font(.largeTitle)
}
}
struct AddItemView2_Previews: PreviewProvider {
static var previews: some View {
AddItemView2()
}
}
'SwiftUI 100 레시피 > Sheets' 카테고리의 다른 글
SwiftUI Sheet 58 - Sheet 크기별로 디스플레이 하기 (1/4, 중간, 전체사이즈) (0) 2022.06.27 SwiftUI Sheet 56 - Sheet 열기, 닫기 (0) 2022.06.27