我添加了一个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提前!
请尝试您所描述的相反电话:
[self.pageVC.view removeFromSuperview];
[self.pageVC removeFromParentViewController];
我在这里和其他帖子中找到了解决方案的问题,因为我在pageViewController的一个子视图中调用了dismissViewController
,所以我没有关闭pageViewController本身,只显示了子视图。
事实证明,我发现了一种通过按下按钮从其中一个子视图中解除pageViewController的快捷方法:只需将此按钮连接到故事板中的“退出”按钮即可展开(并在呈现vc中提供展开方法)。
如果要从其中一个页面中的按钮中关闭UIPageViewController,可以在按钮操作中添加以下代码。这类似于Alex Peda给出的答案,不同之处在于对pageViewController的引用是通过parentViewController属性。
让pvc = self.parentViewController为! UIPageViewController
//从superview中删除页面控制器内容视图。 pvc.view.removeFromSuperview()
//从其父视图控制器中删除pageviewcontroller。 pvc.removeFromParentViewController()
Swift 4 / XCode 9:
虽然所有提出的答案对我都不起作用,但这条简单的方法确实有效:
navigationController?.popViewController(animated: true)