W mojej aplikacji na iPhone'a mam 2-etapowy widok rejestracji. Mam 3 widoki pozwalające na wywoływanie ich ABC .Jeśli poruszam się A-> B-> C a następnie, jeśli chcę wrócić zobacz A od zobacz C Jakie jest najlepsze możliwe rozwiązanie?
po prostu mówię A -> B -> C od C -> A
Czy najlepiej jest używać funkcji dodawania subview?
Odpowiedzi:
1 dla odpowiedzi № 1Wydaje się, że masz małe zamieszanie A-> B-> C i chcesz wrócić Od A do C , myślę, że tak będzie C do A. Można to zrobić przez
[self.navigationController popToRootViewControllerAnimated:YES];
Mam nadzieję, że to dostałeś.
0 dla odpowiedzi nr 2
W twoim ViewControllerze C, zakładając, że A jest rootViewController
dla UINavigationController
[self.navigationController popToRootViewControllerAnimated:YES];
W przeciwnym razie przekaż odwołanie do kontrolera widoku A przez stos widoku podczas przesyłania nowych widoków. Następnie w widoku kontrolera C użyj:
[self.navigationController popToViewController: A animated: YES];
0 dla odpowiedzi № 3
Pod warunkiem, że twój A jest kontrolerem widoku root, zrób to
[self.navigationController popToRootViewControllerAnimated:YES];
Jeśli A nie jest kontrolerem widoku głównego, zrób to
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:index_of_A_viewcontorller] animated:YES];
Jeśli nie wiesz, w jakim indeksie jest twój widok, możesz wydrukować temu self.navigationController.viewControllers to sobie Zobacz
NSLog(@"%@",self.navigationController.viewControllers);