ios: how to dismiss a modal view controller and th

2019-03-25 04:37发布

I have a view controller B that is pushed onto the navigation stack by root view controller A and this view controller B needs to display an alternative view if its model is in a certain state so it is modally presenting another view controller C. When I dismiss view controller C I would also like to pop view controller B if that is also on the nav stack. I would like to do it in such a way that there is only 1 transition.

Any ideas?

1条回答
做自己的国王
2楼-- · 2019-03-25 05:13

In the scenario you posted, the presenting view controller for view controller C will actually be the navigation controller, so you can ask it to pop off B, and then dismiss yourself. This code is in view controller C:

-(IBAction)goBackToA:(id)sender {
    [(UINavigationController *)self.presentingViewController  popViewControllerAnimated:NO];
    [self dismissViewControllerAnimated:YES completion:nil];
}

If you are using a storyboard, you can do this same thing, jumping directly back to A with an unwind segue.

查看更多
登录 后发表回答