-
#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