-
SwiftUI Sheet 56 - Sheet 열기, 닫기SwiftUI 100 레시피/Sheets 2022. 6. 27. 11:53
#1. ContentView
import SwiftUI
struct ContentView: View {
@State private var isPresented: Bool = false
@State private var dismissed: Bool = false
var body: some View {
VStack{
Button("Add Item"){
isPresented = true
}
.font(.largeTitle)
Text(dismissed ? "Dismissed" : "")
.font(.largeTitle)
}.sheet(isPresented: $isPresented, onDismiss: {
dismissed = true
}, content: {
AddItemView()
})
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
#2. AddItemView
import SwiftUI
struct AddItemView: View {
// Sheet 내리기
@Environment(\.presentationMode) var presentationMode
var body: some View {
NavigationView{
VStack{
Text("AddItem View")
}.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(Color.green)
.foregroundColor(.white)
.navigationTitle("Add Item")
.navigationBarItems(trailing: HStack {
Image(systemName: "bolt")
Button("Close"){
presentationMode.wrappedValue.dismiss()
}
})
}
}
}
struct AddItemView_Previews: PreviewProvider {
static var previews: some View {
AddItemView()
}
}
'SwiftUI 100 레시피 > Sheets' 카테고리의 다른 글
SwiftUI Sheet 58 - Sheet 크기별로 디스플레이 하기 (1/4, 중간, 전체사이즈) (0) 2022.06.27 SwiftUI Sheet 57 - 여러개 Sheet 열기 (0) 2022.06.27