Apple TV - 如何在"菜单"按钮被点击

时间:2015-10-25 11:09:27

标签: tvos apple-tv focus-engine

我正在开发一款简单的棋盘游戏。我在左栏中有按钮,例如"新游戏","设置"等等(让我们称之为"菜单视图")。屏幕的其余部分是" Board View"与当前的比赛状态。

当用户点击"菜单&#34时,是否可以处理? Apple TV遥控器上的按钮只是为了从" Board View"到我的"菜单视图"而不是关闭我的应用程序?我有两个"菜单视图"和" Board View"在同一个控制器中,我可能需要调整控制器层次结构吗?

感谢您的帮助!

2 个答案:

答案 0 :(得分:4)

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

    let menuTapGestureRegocnizer = UITapGestureRecognizer(target: self, action: "menuTapped")
    menuTapGestureRegocnizer.allowedPressTypes = [UIPressType.Menu.rawValue]
    view.addGestureRecognizer(menuTapGestureRegocnizer)

答案 1 :(得分:1)

您可以覆盖pressEnded方法并手动触发导航segue

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)
        }

    }
}