我正在尝试理解modal vs push segue并阅读一些Q&类似于this和this。我对这些答案感到困惑的一点是“主持人应该注意解雇它所呈现的VC。”
例如,我写的示例显示UIPageViewController类似于可用的示例here,页面底部有一个名为“Skip”的按钮。
在故事板中我创建了一个segue(类型为Modal)从“Skip”按钮到另一个“View Controller”(让我们说LoginViewController),但是我需要在哪里解雇UIPageViewContoller(如果需要的话)和怎么样?
修改 稍微阅读之后,似乎UIPageViewController(其中有Skip按钮)应该关注解除LoginViewController(因为UIPageViewController是演示者)。
在我的情况下,登录完成后,我想导航到“菜单”页面,然后我怎么能要求UIPageViewController关闭“LoginViewController”并移动到MenuController?我找不到任何关于它是如何工作的例子。任何帮助都将不胜感激!
答案 0 :(得分:5)
根据您提供的教程链接。
有一个APPViewController
是[{1}}和UIPageViewController
的根,所以在该视图的顶部,需要一个跳过按钮,在AppDelegate
中的所有子视图之上。因此,其AppViewController
事件仅在IBAction
。
现在先将AppViewController
更改为AppDelegate self.window.rootViewController
。
在LoginViewController
LoginViewController
事件中,presentModal viewDidLoad
。
现在,在跳过按钮的动作事件中,您可以这样写:
UIPageViewController
因此它会自动关闭您的所有[self dismissViewControllerAnimated:YES completion:nil];
,并会显示已经落后的AppChildViewControllers
。
这只是实现目标的基本逻辑,您可能需要根据项目实施更改代码。
希望这有帮助。
答案 1 :(得分:0)
首先关闭UIPageViewController,然后使用委托或块方法(无论哪种方法)在父控制器中按下跳过按钮然后调用LoginViewController时收到通知。