Как получить доступ к собственному окну в представлении SwiftUI? ⇐ IOS
-
Anonymous
Как получить доступ к собственному окну в представлении SwiftUI?
Цель — обеспечить легкий доступ к окну хостинга на любом уровне иерархии представлений SwiftUI. Цель может быть разной — закрыть окно, отказаться от первого ответчика, заменить корневое представление или contentViewController. Интеграция с UIKit/AppKit также иногда требует пути через окно, поэтому…
То, что я встречал здесь и пробовал раньше,
что-то вроде этого
let keyWindow =shared.connectedScenes .filter({$0.activationState == .foregroundActive}) .map({$0 как? UIWindowScene}) .compactMap({$0}) .первый?.окна .filter({$0.isKeyWindow}).first или с помощью добавленного в каждое представление SwiftUI UIViewRepresentable/NSViewRepresentable, чтобы окно с использованием view.window выглядело уродливо, тяжело и непригодно для использования.
Итак, как бы мне это сделать?
Цель — обеспечить легкий доступ к окну хостинга на любом уровне иерархии представлений SwiftUI. Цель может быть разной — закрыть окно, отказаться от первого ответчика, заменить корневое представление или contentViewController. Интеграция с UIKit/AppKit также иногда требует пути через окно, поэтому…
То, что я встречал здесь и пробовал раньше,
что-то вроде этого
let keyWindow =shared.connectedScenes .filter({$0.activationState == .foregroundActive}) .map({$0 как? UIWindowScene}) .compactMap({$0}) .первый?.окна .filter({$0.isKeyWindow}).first или с помощью добавленного в каждое представление SwiftUI UIViewRepresentable/NSViewRepresentable, чтобы окно с использованием view.window выглядело уродливо, тяжело и непригодно для использования.
Итак, как бы мне это сделать?
Мобильная версия