Navigation Controller Back button to go to the screen before the previous screen

12,122

You can pop to particular viewcontroller using its pushing index. If you know the syntax than you can do that like

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

I believe, In your case it would be 1st Index. Though you can again change index and check.

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

Here self.navigationController.viewControllers is the array of the all the ViewControllers pushed.

Hope it helps.

Share:
12,122
sicKo
Author by

sicKo

bored~~

Updated on June 04, 2022

Comments

  • sicKo
    sicKo almost 2 years

    I'm wondering whether it's possible to go back to 2 previous page using navigation controller button. Right now, I've custom made the button using this code

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

    And on 'handleback' method, I called this line

    [self.navigationController popViewControllerAnimated:YES];

    So in this case it will go to the previous screen. However I want to go to the screen before the previous screen.

    I know that i can call that screen straight away, but I wouldn't want to do that because in every screen I have a back button which supposed to go to its previous screen.

  • K.D
    K.D over 11 years
    it is used for me as go back to perticular index in navigation controller.
  • Janak Nirmal
    Janak Nirmal over 11 years
    @K.D Glad it helped. You can share your happiness by upvote. THax