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

时间:2015-08-29 05:36:40

标签: ios uiviewcontroller uipageviewcontroller

我在我的应用程序中使用pageViewController。我有9页是动态创建的,每页有1个问题,有4个多项选择答案。每个选项都有自定义UIButton与图像及其" BlankedCheckBox"当没有选择该选项时," MakredCheckBox"当它被选中。现在,即使未选择任何可用答案,我也可以转到下一页。仅当用户选择了一个可用选项时,我才想转到下一页。我的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];
}

1 个答案:

答案 0 :(得分:0)

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

要实现您想要的行为,请在控件的IBAction中的代码中设置页面:

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