如何防止游戏控制器按钮 B 退出应用程序/导航回 tvOS 中的菜单

Bob*_*bjt 5 gamecontroller tvos

B默认情况下,游戏控制器按钮会退出应用程序并导航回 tvOS 主屏幕。起初我认为这很直观,但很快意识到这就是 Nimbus MENU 按钮(控制器的中间部分)的用途,而且我实际上想B在游戏中使用按钮。

为按钮设置更改处理程序B有效,但释放按钮时应用程序仍会退出。

GCControllerButtonValueChangedHandler buttonBHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed) {
        NSLog(@"B");
};
Run Code Online (Sandbox Code Playgroud)

Fra*_*ote 5

我遇到过同样的问题。

解决方案是让我的主 ViewController 继承自 GCEventViewController 而不是 UIViewController。

默认情况下,使用 GCEventViewController 时,MENU 按钮不会返回菜单。在这种情况下,如果您希望它能够返回具有原始行为的菜单,您只需将 controllerUserInteractionEnabled 设置为 YES。

在此处查看此类的文档:https : //developer.apple.com/library/tvos/documentation/GameController/Reference/GCEventViewController_Ref/index.html

编辑:苹果开发论坛帮助我解决这个问题:https ://forums.developer.apple.com/message/57926#57926

希望这可以帮助,