Ios 如何有条件地转到pageViewController中的下一页?

Ios 如何有条件地转到pageViewController中的下一页?,ios,uiviewcontroller,uipageviewcontroller,Ios,Uiviewcontroller,Uipageviewcontroller,我正在应用程序中使用pageViewController。我有9页是动态创建的,每页有1个问题,有4个选择题答案。每个选项都有自定义的UIButton,当未选择该选项时带有图像和“BlankedCheckBox”,当选择该选项时带有“MakredCheckBox”。现在,即使没有选择任何可用答案,我也可以转到下一页。仅当用户选择了一个可用选项时,我才想转到下一页。my pageViewController的转换样式为滚动。 在我看来,我必须在下面的方法中添加一些东西。任何帮助都将不胜感激,谢谢

我正在应用程序中使用pageViewController。我有9页是动态创建的,每页有1个问题,有4个选择题答案。每个选项都有自定义的UIButton,当未选择该选项时带有图像和“BlankedCheckBox”,当选择该选项时带有“MakredCheckBox”。现在,即使没有选择任何可用答案,我也可以转到下一页。仅当用户选择了一个可用选项时,我才想转到下一页。my pageViewController的转换样式为滚动。 在我看来,我必须在下面的方法中添加一些东西。任何帮助都将不胜感激,谢谢

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {
    NSUInteger index = ((PageContentViewController *) viewController).pageIndex;

    if (index == NSNotFound) {
        return nil;
    }

    index ++;

    if (index == [self.questionTitles count]) {
        return  nil;
    }
    return [self viewControllerAtIndex:index];
}

您不应该实现
dataSource
方法。如果您这样做,用户可以使用手势滚动。

要实现所需的行为,请在控件的
iAction
中的代码中设置页面:

- (IBAction)nextPage {
    [self setViewControllers:[nextViewController]
             direction: UIPageViewControllerNavigationDirectionForward
              animated:YES
            completion:nil];
}