我正在试验一个“纯”的 SwiftUI 应用程序。它没有,SceneDelegate所以我不确定在 iOS 上运行时我需要的 Hosting Controller 东西放在哪里。
以前在SceneDelegate我有代码会说这样的话:
let contentView = ContentView()
window.rootViewController = UIHostingController(rootView: contentView)
Run Code Online (Sandbox Code Playgroud)
现在我只有一个@main文件:
var body: some Scene {
WindowGroup {
ContentView()
}
}
Run Code Online (Sandbox Code Playgroud)
那么 Hosting Controller 的东西去哪里了(或者我还能如何访问 SwiftUI 没有的 UIKit 功能?(具体来说,我想弄乱状态栏,自动隐藏主页指示器,以及一些关于亮/暗的事情) SwiftUIpreferredColorScheme不涵盖的模式。)
我想要响应按键,例如escmacOS/OSX 上的按键以及在 iPad 上使用外部键盘时的按键。我怎样才能做到这一点?
我曾想过将@available/#available与 SwiftUI 一起使用onExitCommand,这看起来很有前途,但不幸的是这只适用于 macOS/OSX。除了 macOS/OSX 之外,如何响应 SwiftUI 中的按键操作?