UINavigation przesuwa nowy kontroler root

Próbuję przesunąć nowy kontroler roota do stosu nawigacji, ale korzystając z menu bocznego.

Przedstawiciel mojej aplikacji ma następujące funkcje:

    welcomeViewController = [[MyWelcomeViewController  alloc] initWithNibName:@"MyWelcomeViewController" bundle:nil];
navController = [[UINavigationController alloc] initWithRootViewController:welcomeViewController];
navController.navigationBarHidden = YES;

// Then we setup the reveal side view controller with the root view controller as the navigation controller
self.revealSideViewController = [[PPRevealSideViewController alloc] initWithRootViewController:navController];
[self.revealSideViewController setDirectionsToShowBounce:PPRevealSideDirectionNone];
[self.revealSideViewController setPanInteractionsWhenClosed:PPRevealSideInteractionContentView | PPRevealSideInteractionNavigationBar];

// Then we make the window root view controller the reveal side view controller
self.window.rootViewController = self.revealSideViewController;

Po wyświetleniu kontrolera widoku powitalnego użytkownik loguje się. Po zalogowaniu kolejny proces uruchamia się ponownie z pełnomocnika aplikacji.

self.navController.navigationBarHidden = NO;
[self.navController setTitle:@"Home"];
[self.navController pushViewController:homeViewController animated:NO];

Następnie mam konfigurację kontrolera widoku bocznego, który jest widokiem tabeli z niestandardowymi ustawieniami komórek.

Po wybraniu wiersza muszę nacisnąć nowy kontroler główny na kontrolerze nawigacyjnym. Próbuję tego, używając poniższego w widoku tabeli dla wybranej komórki.

MyAccountViewController *accountViewController = [[MyAccountViewController alloc] init];
[self.navigationController setViewControllers:[NSArray arrayWithObject:accountViewController] animated:NO];

Niestety nic to nie robi. Jeśli dodam kod do delegata aplikacji, a następnie wywołam metodę z kontrolera widoku tabeli, to działa, ale nie z pliku .m dla samego widoku tabeli. Dodanie dziennika, który widzę powyżej, jest uruchamiane, po prostu nic nie robi.

Nie jestem pewien, czy muszę zrobić coś innego niż wyżej. Na przykład całkowicie pop-up wyświetleń, a następnie utwórz kontroler nawigacyjny i PPRevealSideViewController ponownie. Jeśli mam, nie jestem pewien, jak wyświetlić wszystkie bieżące widoki, a następnie wypchnąć nowe do okna, a nie z AppDelegate.

Powodem, dla którego nie chcę tego w aplikacji Delegat jest to, że jest to niewłaściwy sposób podejścia do tego, a wtedy potrzebowałbym osobnej metody dla każdego nowego kontrolera root, który chciałbym wypchnąć z menu, tak aby delegat aplikacji stał się bardzo duży.

questionAnswers(2)

yourAnswerToTheQuestion