W mojej aplikacji przedstawiam UINavigationController
modalnie z a UIViewController
jako jego rootViewController
. Robię to w formie formy. Dodałem drugi UIViewController
który jest również w stylu formy i mogę go dobrze popchnąć. Jednak kiedy wykonuję popViewController
akcja po sekundzie UIViewcontroller
zostaje wrzucony na pierwszy, całość prezentowana modalnie UIViewController
zostaje zwolniony. Jednak nie wykonuję żadnego odrzucania, a funkcja odrzucania też nie jest uruchamiana przez przypadek.
Jakieś pomysły, dlaczego to się dzieje?
Z poważaniem,
Zoli
EDYTOWAĆ:
W ten sposób prezentuję kontrolery widoku modalnego za pomocą kontrolera nawigacyjnego:
if(!welcomeScreenAlreadyPresented) {
welcomeScreenViewController = [[WAWelcomeViewController alloc]init];
}
welcomeScreenNavController = [[UINavigationController alloc]initWithRootViewController:welcomeScreenViewController];
[welcomeScreenNavController setModalTransitionStyle: UIModalTransitionStyleCrossDissolve];
[welcomeScreenNavController setModalPresentationStyle:UIModalPresentationFormSheet];
[welcomeScreenNavController setNavigationBarHidden:YES animated:NO];
[self.navigationController presentViewController:welcomeScreenNavController animated:YES completion:nil];
Tak nawiguję w WAWelcomeViewController.m
registerViewController = [[WARegisterViewController alloc]init];
[self.navigationController pushViewController:registerViewController animated:YES];
A w WARegisterViewController.m tak właśnie wracam
[self.navigationController popViewControllerAnimated:YES];
Odpowiedzi:
1 dla odpowiedzi № 1To, co musisz zrobić, to umieścić viewController, który chcesz wepchnąć do innego UINavigationController
.
registerViewController = [[WARegisterViewController alloc]init];
UINavigationController *modalNavigationController = [[UINavigationController alloc] initWithRootViewController:registerViewController]; // autorelease if you are not using ARC
[self presentViewController:navController animated:YES completion:^{}];
Możesz dodać modalNavigationController
jako własność do późniejszego połączenia popViewControllerAnimated:
na tym.