Кнопка «Назад» для перехода к предыдущему экрану. - PullRequest
7 голосов
/ 22 апреля 2011

Мне интересно, можно ли вернуться на 2 предыдущую страницу с помощью кнопки контроллера навигации. Прямо сейчас я сделал кнопку на заказ, используя этот код

self.navigationItem.leftBarButtonItem =
[[UIBarButtonItem alloc] initWithTitle:mainLib.navCountryTitle
                                 style:UIBarButtonItemStyleBordered
                                target:self
                                action:@selector(handleBack:)];

И в методе 'handleback' я назвал эту строку

[self.navigationController popViewControllerAnimated:YES];

Так что в этом случае он перейдет на предыдущий экран. Однако я хочу перейти к экрану до предыдущего экрана.

Я знаю, что могу сразу вызвать этот экран, но я бы не хотел этого делать, потому что на каждом экране у меня есть кнопка возврата, которая должна вернуться к предыдущему экрану.

1 Ответ

9 голосов
/ 22 апреля 2011

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

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:indexOfViewController] animated:YES];

Я полагаю, в вашем случае это будет 1-й индекс.Хотя вы можете снова изменить индекс и проверить.

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:YES];

Здесь self.navigationController.viewControllers - это массив всех отправленных ViewControllers.

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

...