SwiftUI 2 中有几个对象,比如Scene和WindowGroup作为某种场景。
在阅读文档并查看与场景相关的 WWDC2020 视频后,我通过以下方式查看层次结构:
单个应用程序 => 一个或多个场景 => 视图层次结构(或几个)
每个场景都包含一个视图层次结构的根视图,并有一个由系统管理的生命周期。每个场景可以以不同的方式显示取决于平台。
我不确定这是用 HStack 和 VStack 控制的,因为在我的测试项目中,由于某种原因,我得到了不同的结果。
我如何控制场景显示?作为示例应用程序有 2 个场景 - 每个 WindowGroup 中有 2 个视图。如何在 macOS 的同一窗口中从一个场景切换到另一个场景?
如何使用 SwiftUI 在新窗口中打开第二个场景?
为什么我们需要WindowGroup?不就是一组视图吗?
一般如何与他们合作?
或者我可以阅读比文档或WWDC 1 分钟视频(从 2.00 到 3.05)中写的更多的细节,因为没有足够的信息来理解该主题。
我正在构建一个单窗口应用程序,并希望使用新的Swift App Lifecycle。
\nimport SwiftUI\n\n@main\nstruct SingleWindowApp: App {\n var body: some Scene {\n WindowGroup {\n ContentView()\n }\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n默认实现WindowGroup允许窗口的多个实例(即如果您点击\xe2\x8c\x98N)。我\xe2\x80\x99无法找到改变该行为的修饰符。
如何将 WindowGroup 中的窗口数量限制为 1?
\n