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来实现这一点