我正在做一个简单的棋盘游戏。我在左栏中有“新游戏”、“设置”等按钮(我们称之为“菜单视图”)。屏幕的其余部分是显示当前游戏状态的“棋盘视图”。
当用户点击 Apple TV 遥控器上的“菜单”按钮只是为了从“板视图”导航到我的“菜单视图”而不是关闭我的应用程序时,是否可以处理?我在同一个控制器中有“菜单视图”和“板视图”,也许我需要调整控制器层次结构?
感谢帮助!
我正在做一个简单的棋盘游戏。我在左栏中有“新游戏”、“设置”等按钮(我们称之为“菜单视图”)。屏幕的其余部分是显示当前游戏状态的“棋盘视图”。
当用户点击 Apple TV 遥控器上的“菜单”按钮只是为了从“板视图”导航到我的“菜单视图”而不是关闭我的应用程序时,是否可以处理?我在同一个控制器中有“菜单视图”和“板视图”,也许我需要调整控制器层次结构?
感谢帮助!
最终,我注意到pressesEnded
在启动应用程序后第一次覆盖不会取消菜单按钮按下。UITapGestureRecognizer
另一方面使用:
let menuTapGestureRegocnizer = UITapGestureRecognizer(target: self, action: "menuTapped")
menuTapGestureRegocnizer.allowedPressTypes = [UIPressType.Menu.rawValue]
view.addGestureRecognizer(menuTapGestureRegocnizer)
您可以覆盖 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)
}
}
}