ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • #21. 메뉴(Menu)
    SwiftUI 앱만들기 2022. 7. 12. 13:44

    import SwiftUI

     

    let myPets = ["멍멍이","야옹이", "찍찍이"]

     

    struct ContentView: View {

        

        @State private var shouldShowAlert : Bool =  false

        @State private var myText : String = ""

        @State private var selected : Int = 0

        

        var body: some View {

            

            NavigationView{

                

                VStack(spacing: 20){

                    Spacer()

                    Text("\(myPets[selected])")

                        .font(.system(size: 60))

                        .bold()

                        

                    Text("우측 상단에 땡땡땡을 눌러주세요!")

                        .font(.title2)

                        .fontWeight(.black)

                    Spacer()

                    Spacer()

                }

                

                

                

                    .navigationTitle("하이요")

                    .toolbar(content: {

                        ToolbarItem(placement: .navigationBarTrailing, content: {

                            Menu{

                                //메뉴에 들어가는 내용

                                //#1. Menu

                                Button(action: {

                                    //액션

                                    print("오늘도 빡코딩! Button Click")

                                    shouldShowAlert = true

                                    myText = "오늘도 빡코딩"

                                }, label: {

                                    //라벨

                                    Label("오늘도 빡코딩!", systemImage: "flame.fill")

                                })

                                // 멀티 트레일링 클로져

                                //#2. Menu

                                Button{

                                    print("집에서 쉬는날 Button Click")

                                    shouldShowAlert = true

                                    myText = "집에서 쉬는날"

                                } label:{

                                    Label("집에서 쉬는날", systemImage: "house.fill")

                                }

                                //섹션 1

                                Section{

                                    Button{

                                    } label:{

                                        Label("새 파일 만들기", systemImage: "doc")

                                    }

                                    Button{

                                    } label:{

                                        Label("새 폴더 만들기", systemImage: "folder")

                                    }

                                }

                                

                                //섹션 2

                                Section{

                                    

                                    Button{

                                    } label:{

                                        Label("파일모드삭제", systemImage: "trash")

                                    }

                                }

                                //피커

                                Picker(selection: $selected, label: Text("애완동물선택")){

                                    ForEach(myPets.indices, id: \.self, content: {

                                        index in

                                        Text("\(myPets[index])").tag(index)

                                    })

                                }

                                

                            } label: {

                                Circle().foregroundColor(Color.orange)

                                    .frame(width: 50, height: 50)

                                    .overlay(

                                        Label("더보기", systemImage: "menucard")

                                            .font(.system(size: 20))

                                            .foregroundColor(.white)

                                    )

                                

                            } //메뉴

                        })

                    }) // toolbar

                    .alert(isPresented: $shouldShowAlert, content: {

                        Alert(title: Text("알림"), message: Text("\(myText)"), dismissButton: .default(Text("확인")))

                    })

            }

            

        }

    }

     

    struct ContentView_Previews: PreviewProvider {

        static var previews: some View {

            ContentView()

        }

    }

     

     

     


    출처: https://youtu.be/SIcdapoA40Y

     

    'SwiftUI 앱만들기' 카테고리의 다른 글

    #20. 딥링크(DeepLink)  (0) 2022.07.12
    #19. 피커뷰(PickerView)  (0) 2022.07.11
    #18. 토스트, 팝업(Toast, Popup)  (0) 2022.07.11
    #17. 텍스트필드(TextField, SecureField)  (0) 2022.07.11
    #16. 버튼 스타일(Button Style)  (0) 2022.07.11

    댓글

Designed by Tistory.