Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何清空UIPageViewController(删除内部的ViewController)_Ios_Objective C_Uipageviewcontroller - Fatal编程技术网

Ios 如何清空UIPageViewController(删除内部的ViewController)

Ios 如何清空UIPageViewController(删除内部的ViewController),ios,objective-c,uipageviewcontroller,Ios,Objective C,Uipageviewcontroller,设置完PageViewController后,我想移除其中的视图控制器,使其为空 我该怎么做 -(UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController { return nil; } 我尝试了setViewControllers:directi

设置完PageViewController后,我想移除其中的视图控制器,使其为空

我该怎么做

-(UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
    return nil;
}
我尝试了
setViewControllers:direction:animated:completion:
方法传递
nil
或viewControllers参数中的空数组,但它崩溃了


如何执行此操作?

如果使用
nil
调用
setViewControllers:direction:animated:completion:
对于
viewControllers
参数崩溃,请尝试将视图控制器设置为具有单个空视图控制器的阵列

-(UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
    return nil;
}
[pageViewController setViewControllers:@[UIViewController.new] direction:direction animated:true completion:nil];

是否要删除viewController的所有内容?是的,我希望UIPageViewController的所有子视图控制器都得到释放我很确定,当您不需要下一页时,返回
nil
,而不是当您需要空页控制器时。当您有一个动态实现(设置VCs)时,此解决方案会给我重复的VCs。因此,为了解决这个问题,我做了如下操作:(1)pageViewController.dataSource=nil(2)实现您的动态逻辑以设置VCs的数量(3)pageViewController.dataSource=self您的答案是正确的,只是分享我的经验,这对其他人有所帮助。