Цель — обеспечить легкий доступ к окну хостинга на любом уровне иерархии представлений 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 выглядело уродливо, тяжело и непригодно для использования.
Итак, как мне это сделать?
Подробнее здесь:
https://stackoverflow.com/questions/603 ... iftui-view