SwiftUI macOS 视图工具栏未显示在新窗口中

Eil*_*lon 7 macos nswindow ios swift swiftui

我的 macOS 应用程序中有以下视图:

struct ViewWithToolbar: View {
    var body: some View {
        Group {
            Text("Hello from ViewWithToolbar!")
                .padding()
        }
        .toolbar {
            Button("Action1") {  }
            Button("Action2") {  }
        }
        .frame(minWidth: 500, minHeight: 400.0)
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我在App声明中通过这个视图,一切都会按预期进行。当我尝试在新窗口中呈现此视图时,问题就开始了,如下例所示:

struct RootView: View {
    var body: some View {
        Group {
            Button("Present View with Toolbar") {
                let controller = NSHostingController(rootView: ViewWithToolbar())
                let window = NSWindow(contentViewController: controller)
                window.contentViewController = controller
                window.title = "View with Toolbar"
                window.styleMask = [.titled, .closable, .miniaturizable, .resizable]
                window.makeKeyAndOrderFront(nil)
            }
            .padding()
        }
        .frame(minWidth: 500, minHeight: 400)
    }
}
Run Code Online (Sandbox Code Playgroud)

该视图确实在新窗口中打开,但工具栏不再显示。除了我传递给 的标题之外,它似乎完全忽略了顶部栏window

什么可能导致此问题?这与我呈现窗口的方式有关吗?有没有一种更 SwiftUI'ish 的方式来呈现一个新窗口来解决这个问题?