ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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()

        }

    }

     

     

     

     

    댓글

Designed by Tistory.