从另一个Popover

时间:2017-03-08 12:44:16

标签: ios objective-c uiviewcontroller uinavigationcontroller uipopovercontroller

我的故事板使用的是UINavigationController(VC0),我使用UIPopover来加载新的UIViewController(VC1)。从这个新UIViewController开始,我将弹出一个新的UIViewController(VC2)。当我试图关闭这个最新的弹出窗口时,我正在退回UINavigationController

我在VC0中使用的代码将VC1显示为popover,VC1到VC2的代码是相同的代码(不同的标识符):

[self performSegueWithIdentifier:@"titlePopover" sender:self];

我在VC2中用来解散popover的代码是:

UIViewController *vc = [self presentingViewController];
[self dismissViewControllerAnimated:YES completion:^{
    [[vc presentingViewController] dismissViewControllerAnimated:YES completion:nil];
}];

它做的是解散VC2,显示VC1一瞬间,然后解散VC1并返回VC0。我希望能够仅解雇VC2,以便我在VC1上

1 个答案:

答案 0 :(得分:1)

如果您以模式方式执行sugue,请使用代码导航回来:

[self dismissViewControllerAnimated:YES completion:nil];

如果执行推送segue,请使用代码导航回来:

[self.navigationController popViewControllerAnimated:YES];