如何在弹出窗口关闭后通过 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 我基于我的回答。我必须承认,现在我使用演示控制器委托完成了大部分工作。
无论如何,为了回答您的问题,当您弹出或模态呈现控制器时,正在呈现的控制器 将消息 beingPresented
和 beingDismissed
完成后,您可以将其用于您正在尝试做的事情。
当您按下 控制器时,它会在显示时显示 isMovingToParentViewController
消息,在关闭时显示 isMovingFromParentViewController
,再次在显示的控制器中显示。
返回弹出...它将在 VC 中显示消息 prepareForSegue
,在显示 VC 中显示 viewWillAppear
和 viewDidAppear
,并且,解雇时,将在显示的 VC 中仅显示 viewWillDisappear
和 viewDidDisappear
消息,因此您的问题。至少它还会如前所述发送 beingDismissed
消息,如果您可以使用它,我真的很高兴。
我有一个像这样的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 我基于我的回答。我必须承认,现在我使用演示控制器委托完成了大部分工作。
无论如何,为了回答您的问题,当您弹出或模态呈现控制器时,正在呈现的控制器 将消息 beingPresented
和 beingDismissed
完成后,您可以将其用于您正在尝试做的事情。
当您按下 控制器时,它会在显示时显示 isMovingToParentViewController
消息,在关闭时显示 isMovingFromParentViewController
,再次在显示的控制器中显示。
返回弹出...它将在 VC 中显示消息 prepareForSegue
,在显示 VC 中显示 viewWillAppear
和 viewDidAppear
,并且,解雇时,将在显示的 VC 中仅显示 viewWillDisappear
和 viewDidDisappear
消息,因此您的问题。至少它还会如前所述发送 beingDismissed
消息,如果您可以使用它,我真的很高兴。