【发布时间】:2021-05-03 03:38:48
【问题描述】:
有没有一种纯 SwiftUI 的方式来打开一个新窗口?我有一个排序工作的基于文档的应用程序,其应用程序如下所示:
@main struct MyApp: App
{
var
body: some Scene {
DocumentGroup(newDocument: ProjectDocument.init) { inGroup in
ProjectWindowContentView(document: inGroup.document)
.frame(minWidth: 301.0, minHeight: 100.0)
.onReceive(self.addTerrainGeneratorLayerCommand) { _ in
inGroup.document.addTerrainGeneratorLayer()
}
}
.commands {
...
}
}
...
}
现在我想添加一个菜单命令来在它自己的窗口中实例化一个小的独立实用工具。到目前为止,我在网上看到的任何讨论实际上都涉及制作一个新的NSWindow,并将NSHostingView 作为其内容视图。这似乎不是很 SwiftUI 风格,考虑到他们最近添加的 DocumentGroup 和 WindowGroup 似乎是一个很大的疏忽。
我尝试在应用的场景中添加WindowGroup,但如果我注释掉DocumentGroup,它只会显示我的窗口。
【问题讨论】:
标签: swiftui macos-big-sur