Ios 从UIPageViewController的子视图控制器中删除UIPageViewController的正确步骤是什么?

Ios 从UIPageViewController的子视图控制器中删除UIPageViewController的正确步骤是什么?,ios,objective-c,cocoa-touch,uiviewcontroller,uipageviewcontroller,Ios,Objective C,Cocoa Touch,Uiviewcontroller,Uipageviewcontroller,我有一个UIPageViewController子类,其中包含一堆UIViewController子类 在某个UIViewController子类中的某个点上,如果用户执行了某项操作,我希望删除整个UIPageViewController系统,以仅显示它最初添加到的底层子视图 我添加UIPageViewController子类作为主视图控制器的子视图控制器,如下所示: ImageGalleryPageViewController *galleryPageViewController = [[Im

我有一个
UIPageViewController
子类,其中包含一堆
UIViewController
子类

在某个
UIViewController
子类中的某个点上,如果用户执行了某项操作,我希望删除整个
UIPageViewController
系统,以仅显示它最初添加到的底层子视图

我添加
UIPageViewController
子类作为主视图控制器的子视图控制器,如下所示:

ImageGalleryPageViewController *galleryPageViewController = [[ImageGalleryPageViewController alloc] initWithImagesAndCaptions:imagesAndCaptions];
[self addChildViewController:galleryPageViewController];
[self.view addSubview:galleryPageViewController.view];
[galleryPageViewController didMoveToParentViewController:self];
我很好奇从内部
UIViewControllers
中删除它的最佳实践是什么

我的第一反应是:

[self.imageGallery removeFromParentViewController];
[self.imageGallery.view removeFromSuperview];
(其中,在我的
UIViewController
子类中,我引用了它所包含的
UIPageViewController
子类,并且我告诉要删除
UIPageViewController
子类

这…可以吗?我担心如果我删除包含
UIViewController
UIPageViewController
进行调用,可能第二个
removeFromSuperview
调用不会被调用,因为视图将被删除

UIPageViewController
子类上有一个专门的方法来执行上述两种方法会更好吗?两者都不同吗


此外,为什么必须同时调用这两个?为什么
removeFromParentViewController
不同时删除其
视图
?为什么必须同时添加这两个视图?

我会评论,但我没有足够的代表:(

我建议你说:

在UIPageViewController子类上有一个执行上述两种方法的专用方法会更好吗

您可以很容易地使用NSNotification来实现这一点