1

我正在做一个简单的棋盘游戏。我在左栏中有“新游戏”、“设置”等按钮(我们称之为“菜单视图”)。屏幕的其余部分是显示当前游戏状态的“棋盘视图”。

当用户点击 Apple TV 遥控器上的“菜单”按钮只是为了从“板视图”导航到我的“菜单视图”而不是关闭我的应用程序时,是否可以处理?我在同一个控制器中有“菜单视图”和“板视图”,也许我需要调整控制器层次结构?

感谢帮助!

4

2 回答 2

4

最终,我注意到pressesEnded在启动应用程序后第一次覆盖不会取消菜单按钮按下。UITapGestureRecognizer另一方面使用:

    let menuTapGestureRegocnizer = UITapGestureRecognizer(target: self, action: "menuTapped")
    menuTapGestureRegocnizer.allowedPressTypes = [UIPressType.Menu.rawValue]
    view.addGestureRecognizer(menuTapGestureRegocnizer)
于 2015-11-15T21:11:50.503 回答
1

您可以覆盖 pressesEnded 方法并手动触发导航序列

override func pressesEnded(presses: Set<UIPress>, withEvent event: UIPressesEvent?) {
    for press in presses {
        if(press.type == UIPressType.Menu) {
           // Do what you want
           // ...
        } else {
            super.pressesEnded(presses, withEvent: event)
        }

    }
}
于 2015-10-25T19:40:41.683 回答