title: tvOS - catch MENU button presses during push-view-controller transition
body: <p>I have a UIViewController in my tvOS app which will only appear for a few seconds, and needs totally customizable MENU button handling. I create it like so:</p>
  
  <pre><code>- (void)viewDidLoad
  {
      [super viewDidLoad];
  
      // Add a tap gesture recognizer to handle MENU presses.
      UITapGestureRecognizer *tapGestureRec = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
      tapGestureRec.allowedPressTypes = @[@(UIPressTypeMenu)];
      [self.view addGestureRecognizer:tapGestureRec];
  }
  
  - (void)handleTap:(UITapGestureRecognizer *)sender
  {
      // Code to process the MENU button is here.
  }
  </code></pre>
  
  <p>I display the view controller using <code>pushViewController:animated:</code>:</p>
  
  <pre><code>UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:identifier];
  [self pushViewController:controller animated:isAnimated];
  </code></pre>
  
  <p>I've found that if the user presses MENU as soon as the screen starts to appear, while the cross-fade transition effect is still displaying, they are able to dodge the UITapGestureRecognizer and go back to a previous screen, which is not intended. They can also cause issues by mashing MENU over and over again--eventually they will escape out of things that they should not be able to.</p>
  
  <p>How can I ensure that the MENU press always reaches my override? Is there a way to specify an app-encompassing MENU button handler and still use a UINavigationController?</p>