tvOS菜单按钮默认行为

时间:2016-06-16 21:56:21

标签: ios objective-c swift tvos

我正在制作一个tvOS应用程序,我在NavigationController中拥有所有ViewControllers。该应用程序的几个层有一个" Show" segue到下一个ViewController。 我有一个需要在每次显示视图时运行的函数,所以我将函数调用放在viewDidAppear中,因为我认为当我按下"菜单"在电视遥控器上,从一个ViewController回溯到它的父母。 所以我的问题是菜单按钮的默认行为是什么,它是否调用我可以访问的功能?基本上,当我按下子菜单中的Menu并返回父级时,如何在我的父ViewController中进行函数调用。

我觉得我的问题没有意义,所以如果你需要澄清,请不要犹豫。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在Apple指南中找到“菜单”按钮的默认行为:https://developer.apple.com/tvos/human-interface-guidelines/remote-and-controllers/

说清楚: 假设您是从第一视图控制器推送后到达的第二视图控制器。现在点击第二个VC中的菜单按钮,您将弹回第一个VC。 如果您在第一个VC中再次点击“菜单”按钮,该应用程序将被置于后台,您将进入Apple TV主屏幕。

来访问菜单按钮部分: 我无法覆盖默认行为,但我认为您可以通过覆盖pressBegan方法来监听它。

override func pressesBegan(presses: Set<UIPress>, withEvent event: UIPressesEvent?) {

     switch presses.first!.type {

      case UIPressType.Menu : // Your code here
      default : break

    }