在刷过最后一个视图控制器后,如何解除/弹出UIPageViewController?

ebi*_*ebi 8 ios uipageviewcontroller

在刷过最后一个视图控制器后,如何解除/弹出UIPageViewController?基本上想要用图像制作教程样式的分页视图,并在用户从最后一页滑到"下一页"后解除.

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {

    NSUInteger index = [(EmailTutorialViewController *)viewController index];


    index++;

    if (index == 5) {
        [self.navigationController popViewControllerAnimated:YES]; // this doesn't do anything
        return nil;
    }

    return [self viewControllerAtIndex:index];
}
Run Code Online (Sandbox Code Playgroud)

der*_*iuk 10

这是我用过的简单解决方案:

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController;

返回空控制器index == 5并添加此UIPageViewControllerDelegate方法:

- (void)pageViewController:(UIPageViewController *)pageViewController 
willTransitionToViewControllers:(NSArray *)pendingViewControllers
{
    EmailTutorialViewController *viewController = 
                [pendingViewControllers objectAtIndex:0];
    if ([viewController index] == 5) 
    {
        [self.navigationController popViewControllerAnimated:YES];
    }
}
Run Code Online (Sandbox Code Playgroud)