【发布时间】:2020-06-07 03:10:29
【问题描述】:
目标是在 SwiftUI 视图层次结构的任何级别轻松访问托管窗口。目的可能不同 - 关闭窗口、辞去第一响应者、替换根视图或 contentViewController。与 UIKit/AppKit 集成有时也需要通过窗口的路径,所以……
我在这里遇到并尝试过的,
类似的东西
let keyWindow = shared.connectedScenes
.filter({$0.activationState == .foregroundActive})
.map({$0 as? UIWindowScene})
.compactMap({$0})
.first?.windows
.filter({$0.isKeyWindow}).first
或通过在每个 SwiftUI 视图中添加 UIViewRepresentable/NSViewRepresentable 以使用 view.window 获取窗口看起来丑陋、沉重且不可用。
那么,我该怎么做呢?
【问题讨论】: