设置变量后更改UIPageViewController的viewControllerAfterViewController方法的值?

时间:2013-04-01 16:06:25

标签: iphone ios objective-c uipageviewcontroller

我有一个按预期工作的UIPageViewController,它在每个页面上都有我的子视图控制器,一切都很棒。在其中一个页面上,我想要它,以便在该子视图控制器上将布尔值设置为YES时,它允许用户滑动到下一页。如果没有,我希望他们不能继续前进,直到设置布尔值(他们应该可以向后移动)。

我在viewControllerAfterViewController方法中设置了这些值,但只有在将子视图控制器加载到UIPageViewController时才会调用它们。我想这样做的方法是在用户尝试滑动时再次设置它,但有没有办法在不完全覆盖手势识别器的情况下执行此操作?

这是函数当前所具有的功能,最初我检查了子视图控制器的布尔值,但最终没有用,因为它从未被调用过。变量viewControllers是一个包含所有控制器的NSArray。

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {
    if ([viewControllers containsObject:viewController]) {
        NSInteger index = [viewControllers indexOfObject:viewController];
        if (index < [viewControllers count] - 1) {
            return [viewControllers objectAtIndex:(index + 1)];
        }
    }
    return nil;
}

0 个答案:

没有答案