dismissWindow
A window dismissal action stored in a view’s environment.
Declaration
var dismissWindow: DismissWindowAction { get }Discussion
Use the dismissWindow environment value to get an DismissWindowAction instance for a given Environment. Then call the instance to dismiss a window. You call the instance directly because it defines a callAsFunction(id:) method that Swift calls when you call the instance.
For example, you can define a button that dismisses an auxiliary window:
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
#if os(macOS)
Window("Auxiliary", id: "auxiliary") {
AuxiliaryContentView()
}
#endif
}
}
struct DismissWindowButton: View {
@Environment(\.dismissWindow) private var dismissWindow
var body: some View {
Button("Close Auxiliary Window") {
dismissWindow(id: "auxiliary")
}
}
}If the window was opened with pushWindow, the presenting window will reappear when this action is performed.