更新 macOS SwiftUI 中 WindowGroup 的 windowStyle-生命周期

Updating windowStyle of WindowGroup in macOS SwiftUI-life cycle

我希望能够通过 ContentView 更新我的应用程序的 windowStyle,我尝试了两种方法,但都失败了!希望解决 macOS SwiftUI-life cycle 的问题。

@main
struct macOSApp: App {

    @State private var windowToolbarStyle: Bool = false

    var body: some Scene {
        
        WindowGroup {
            ContentView(windowToolbarStyle: $windowToolbarStyle)
        }
        .windowStyle(windowToolbarStyle ? TitleBarWindowStyle() : HiddenTitleBarWindowStyle())

    }
}

@main
struct macOSApp: App {

    @State private var windowToolbarStyle: Bool = false

    var body: some Scene {
        
        if windowToolbarStyle {
            WindowGroup {
                ContentView(windowToolbarStyle: $windowToolbarStyle)
            }
        }
        else {
            WindowGroup {
                ContentView(windowToolbarStyle: $windowToolbarStyle)
            }
            .windowStyle(HiddenTitleBarWindowStyle())
        }
    }
}

目前使用 SwiftUI 应用程序生命周期无法做到这一点。 SceneBuilder doesn't implement buildEither or buildIf methods, which are required to support conditionals. Compare to ViewBuilder,确实实现了它们并支持条件。