Мне нужно прыгать между контроллерами. Например:Прыжки между видами в навигационном контроллере
View1: First screen (Just logo)
View2: Download Screen
View3: First app screen (Some Buttons)
View4-View(N): some app screens
Когда пользователь вводит приложение приложение переходит к View1-> View2 (загрузки набивать) -> Просмотр 3-> View4-> View5 Затем пользователь пожелает перейти к первому экрану приложения (View3) он делает:
NSArray *array = [self.navigationController viewControllers];
[self.navigationController popToViewController:[array objectAtIndex:2] animated:NO];
Первый раз, когда пользователь входит в приложении он идет: View1-> View3 (экран загрузки больше не нужен), и у меня есть другой нажимной SEGUE пойти в View3 так позволяет предположить, пользователь получает: View1-> View 3-> View4-> View5, теперь он хочет вернуться к View3, поэтому функция:
NSArray *array = [self.navigationController viewControllers];
[self.navigationController popToViewController:[array objectAtIndex:2] animated:NO];
Вернет его в View4, и это НЕПРАВИЛЬНО. Как я могу это решить?
предполагая элементы массива добавлены в порядке View1, View3, view4, View5, '[массив objectAtIndex: 2]' не должно дать вам view4 ничего плохого в том, что, '[массив objectAtIndex: 0] = View1 ',' [array objectAtIndex: 1] = View3', '[array objectAtIndex: 2] = View4', который кажется ПРАВИЛЬНЫМ для меня, попробуйте ответить ниже или попробуйте' objectAtIndex: 1' –
Неправильно я имел в виду, что мне нужна функция [self .navigationController popToViewController: [массив objectAtIndex: 2] анимированный: NO]; всегда обращайтесь к view3 независимо от того, что – Dim
Вы должны использовать разматывать segue, если хотите вернуться к определенному контроллеру с разных контроллеров или с другой структурой стека. – rdelmar