在SwiftUI中取消工作表时刷新上一个视图,可以通过使用@Binding
属性和presentationMode
来实现。
首先,在上一个视图中创建一个@State
属性来控制工作表的显示与隐藏:
@State private var isSheetPresented = false
然后,在上一个视图中使用sheet
修饰符来显示工作表,并将isSheetPresented
绑定到工作表的显示状态:
Button("显示工作表") {
isSheetPresented = true
}
.sheet(isPresented: $isSheetPresented) {
SheetView(isSheetPresented: $isSheetPresented)
}
接下来,创建一个新的视图SheetView
,并在其中使用@Binding
属性来接收isSheetPresented
的值:
struct SheetView: View {
@Binding var isSheetPresented: Bool
var body: some View {
// 在工作表中显示内容
VStack {
Text("这是工作表")
Button("取消") {
isSheetPresented = false
}
}
}
}
当点击工作表中的取消按钮时,将isSheetPresented
设置为false
,从而关闭工作表并刷新上一个视图。
这种方法可以在SwiftUI中实现取消工作表时刷新上一个视图的效果。
领取专属 10元无门槛券
手把手带您无忧上云