iPhone: как я могу перейти на первую страницу в контроллере навигации? - PullRequest
2 голосов
/ 25 апреля 2011

как я могу перейти на первую страницу в контроллере навигации?

я знаю, что если я хочу перейти на корневую страницу, я могу использовать

[self.navigationController popToRootViewControllerAnimated:YES]; 

но я хочу двигаться впереди 2 страниц. не корневая страница, а перед страницей.

как я могу это сделать?

Ответы [ 3 ]

2 голосов
/ 25 апреля 2011

Если вы знаете viewController в стеке контроллера панели навигации, тогда вы можете использовать:

[self.navigationController popToViewController:viewControllerToShow animated:YES]; 

popToViewController: animated:

Всплывающее представлениеконтроллеры, пока указанный контроллер представления не находится на вершине стека навигации.

1 голос
/ 25 апреля 2011

Да, вы можете использовать

popToViewController: анимированные:

Выводит контроллеры представления, пока указанный контроллер представления не будет на вершина стека навигации.

В дополнение к ответам выше, если у вас нет экземпляра контроллера представления, вы можете сделать это по индексу контроллера представления в стеке.

NSArray *array = [self.navigationController viewControllers];

[self.navigationController popToViewController:[array objectAtIndex:2] animated:YES];
1 голос
/ 25 апреля 2011

Если вы держите ссылку на упомянутый ViewController *, вы можете использовать;

[self.navigationController popToViewController:(UIViewController *) animated:(BOOL)];

Таким образом, он возвращается, пока не достигнет заданного ViewController.

Другие обходные пути могут быть, перейти в root и затем перейти на главную страницу (если это, конечно, уровень 1) без анимации. Или вы можете открывать ViewControllers один за другим, пока не окажетесь там ... Все зависит от вашей структуры.

Остерегайтесь, однако, если вы держите ссылку на упомянутый ViewController, вам нужно сохранить / освободить его должным образом.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...