Mam UIViewController w mojej aplikacji tvOS, która pojawi się tylko na kilka sekund i wymaga całkowicie konfigurowalnego zarządzania przyciskiem MENU. Tworzę go tak:tvOS - catch Przyciski MENU podczas zmiany kontrolera push-view
- (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.
}
wyświetlać kontroler widoku za pomocą pushViewController:animated:
:
UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:identifier];
[self pushViewController:controller animated:isAnimated];
Odkryłam, że jeśli użytkownik naciśnie przycisk MENU, jak tylko zacznie się pojawiać na ekranie, podczas gdy na krzyżu -stopniowy efekt przejścia jest nadal wyświetlany, są one w stanie uniknąć UITapGestureRecognizer i wrócić do poprzedniego ekranu, który nie jest przeznaczony. Mogą również powodować problemy, wielokrotnie miażdżąc MENU - w końcu uciekną z rzeczy, których nie będą mogli.
W jaki sposób mogę zapewnić, że naciśnięcie MENU zawsze dotrze do mojego zastąpienia? Czy istnieje sposób na określenie obsługi przycisku MENU obsługującej aplikacje i nadal używają kontrolera UINavigationController?