如何在弹出窗口关闭后通过 PageViewController 显示警报?

How do I display an alert over a PageViewController after a popover dismissal?

我有一个像这样的VC结构

UIPageViewController -> detailViewController -> popoverviewcontroller

popoverviewcontroller 使用 unwind segue 关闭,让我们回到 detailviewcontroller

现在,在关闭弹出窗口后,我想刷新 pagecontroller 上的页面,因为用户采取的操作已经更改了数据。

我还想显示一个警报,通知用户他们是否成功。

所以我尝试将此代码放入 pageViewcontroller

- (IBAction) unwindFromPopup:(UIStoryboardSegue*)unwindSegue{
    [self refreshPages];
    UIAlertController * alertController = [UIAlertController alertControllerWithTitle:@"alert" message:@"this should appear" preferredStyle:UIAlertControllerStyleAlert];
    [self presentViewController:alertController animated:YES completion:nil];
}

我试着将上面的代码移到细节视图控制器中,但是我没有得到任何结果。没有错误或任何东西,只是完全没有警觉。我在 segue 中放置了一个断点,然后代码被调用。但是没有警报。

我想将代码放在相应的 viewDidAppear 方法之一中,但由于某种原因,在我关闭弹出窗口后,viewDidAppear 没有被 pageviewcontroller 或 detailview 控制器调用。

所以此时我不知道如何让这个警报出现。

我是否需要 post 我的完整代码,或者我的问题是否在我包含的详细信息中显而易见?

谢谢 - 根据你的评论......很久以前在 iOS 的一个遥远版本中我执行了所有可能的 segues 并记录了什么时候调用什么并且有一个 table 我基于我的回答。我必须承认,现在我使用演示控制器委托完成了大部分工作。

无论如何,为了回答您的问题,当您弹出或模态呈现控制器时,正在呈现的控制器 将消息 beingPresentedbeingDismissed 完成后,您可以将其用于您正在尝试做的事情。

当您按下 控制器时,它会在显示时显示 isMovingToParentViewController 消息,在关闭时显示 isMovingFromParentViewController,再次在显示的控制器中显示。

返回弹出...它将在 VC 中显示消息 prepareForSegue,在显示 VC 中显示 viewWillAppearviewDidAppear,并且,解雇时,将在显示的 VC 中仅显示 viewWillDisappearviewDidDisappear 消息,因此您的问题。至少它还会如前所述发送 beingDismissed 消息,如果您可以使用它,我真的很高兴。