0

在 UIKit 中,我们可以使用 GCEventViewController 通过设置 controllerUserInteractionEnabled = false 来拦截游戏控制器将 Home 按钮按下传播到响应者(并让他们退出我们的应用程序)

SwiftUI 应用不使用 ViewControllers,所以除了复活一个将整个应用嵌入其中外,我们不能使用上述解决方案来避免玩家误按错误按钮而漏掉游戏/应用(我们不能使用按钮 B)

有谁知道这个难题的解决方案?Apple 是否已经实施了一种新方法来拦截高级事件,以便我们可以在内部处理它们?

谢谢!

4

1 回答 1

2

您必须有一个可聚焦的视图(如按钮),然后您可以在包含视图中使用onExitCommand来简单地忽略退出事件,或者做一些不同的事情。

struct ContentView: View {
    var body: some View {
        VStack {
            Button("Hello, world!") {
                
            }
        }.onExitCommand {
           // Do nothing
        }
    }
}
于 2021-04-09T15:46:45.863 回答