在SwiftUI中,我试图在关闭工作表但不调用'onDismiss'闭包后运行一些代码。
我正在运行Xcode Beta 5,目标是IOS 13
import SwiftUI
struct ModalView : View {
@Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>
var body: some View {
Group {
Text("Modal view")
Button(action: { print("Dismiss button pressed"); self.presentationMode.value.dismiss() }) { Text("Dismiss") }
}
}
}
struct ContentView: View {
@State var showModal: Bool = false
var body: some View {
Button(action: { self.showModal = true }) { Text("Show modal via .sheet modifier") }
.sheet(isPresented: $showModal, onDismiss: { print("Modal Dismissed") }) { ModalView() }
}
}
Run Code Online (Sandbox Code Playgroud)
我应该看到:
Dismiss …Run Code Online (Sandbox Code Playgroud)