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

问题描述

我有这样的VC结构

UIPageViewController-> detailViewController-> popoverviewcontroller

popoverviewcontroller通过放宽的设置被解雇,使我们回到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方法之一中,但是由于某种原因,我关闭弹出窗口后,pageviewcontroller或detailview控制器都没有调用viewDidAppear。

因此,在这一点上,我不知道如何显示此警报。

我需要发布完整的代码,还是我的问题在包含的详细信息中显而易见?

解决方法

谢谢-根据您的评论...很久以前,在遥远的iOS版本中,我执行了所有可能的任务,并记录了何时调用该调用,并列出了我基于其回答的内容。我必须承认,如今,使用演示控制器代表可以完成大部分工作。

无论如何,当您弹出或模态显示控制器时,为回答您的问题,正在显示的控制器 将在完成后向beingPresentedbeingDismissed发出消息并且您也许可以将其用于尝试做的事情。

当您一个控制器时,它会在显示时提示isMovingToParentViewController,并在关闭时显示isMovingFromParentViewController,再次显示该控制器。

返回到弹出窗口...它将在显示的VC中发送消息prepareForSegue,在显示的VC中发送消息viewWillAppearviewDidAppear,并且在关闭时将仅发送消息 viewWillDisappearviewDidDisappear在出现的VC中,因此出现了问题。至少它还会像上面提到的那样向beingDismissed发送消息,如果可以使用的话,我真的很高兴。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...