如何解雇UIPageViewController?

问题描述 投票:6回答:4

我添加了一个UIPageViewController作为我的新游戏中的说明,我想在用户按下连接到UIPageViewController的最后一个UIViewController上的“GOT IT”按钮后解雇UIPageViewController

到目前为止我试过这个:

[self.pageVC dismissViewControllerAnimated:YES completion:nil];

并没有删除UIPageViewController,为什么?

我该怎么解雇呢?

为了展示/展示UIPageViewController,我这样做:

[self addChildViewController:self.pageVC];
[self.view addSubview:self.pageVC.view];
[self.pageVC didMoveToParentViewController:self];

10x提前!

ios uiviewcontroller uipageviewcontroller
4个回答
10
投票

请尝试您所描述的相反电话:

[self.pageVC.view removeFromSuperview];
[self.pageVC removeFromParentViewController];

0
投票

我在这里和其他帖子中找到了解决方案的问题,因为我在pageViewController的一个子视图中调用了dismissViewController,所以我没有关闭pageViewController本身,只显示了子视图。

事实证明,我发现了一种通过按下按钮从其中一个子视图中解除pageViewController的快捷方法:只需将此按钮连接到故事板中的“退出”按钮即可展开(并在呈现vc中提供展开方法)。


0
投票

如果要从其中一个页面中的按钮中关闭UIPageViewController,可以在按钮操作中添加以下代码。这类似于Alex Peda给出的答案,不同之处在于对pageViewController的引用是通过parentViewController属性。

让pvc = self.parentViewController为! UIPageViewController

//从superview中删除页面控制器内容视图。 pvc.view.removeFromSuperview()

//从其父视图控制器中删除pageviewcontroller。 pvc.removeFromParentViewController()


0
投票

Swift 4 / XCode 9:

虽然所有提出的答案对我都不起作用,但这条简单的方法确实有效:

navigationController?.popViewController(animated: true)
© www.soinside.com 2019 - 2024. All rights reserved.