ios - UIPageViewController 有条件地转到下一页

标签 ios objective-c uipageviewcontroller

我有 UIPageViewController,我可以使用以下委托(delegate)方法转到下一页和上一页。

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{
    if ([viewController isKindOfClass:[PageController class]])
       return nil;

    if(_counter < 1) {
       return nil;
    }

    self.view.backgroundColor = [UIColor lightGrayColor];
    return [self.storyboard instantiateViewControllerWithIdentifier:@"memoTable"];
}

编辑:

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
    //NSLog(@"Child controller count  = %lu",(unsigned long)pageViewController.childViewControllers.count);

    if ([viewController isKindOfClass:[PageController class]])
        return nil;

    if([viewController isKindOfClass:[TableViewController class]])
    {
        TableViewController *viewController1 = (TableViewController*) viewController;
        if (viewController1.dataArr.count < 5) {
            return nil;
        }
    }

    return [self.storyboard instantiateViewControllerWithIdentifier:@"pageView"];
}

如果满足某些条件,现在我想转到下一页。就像上一页一样viewController.isCheck == true

我怎样才能做到这一点?

最佳答案

您可以将该条件添加到现有 ifs 之一,如果条件未验证则返回 nil。像这样的东西:

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
    if ([viewController isKindOfClass:[PageController class]] || ((YourViewControllerClass *)viewController).isCheck == false)
       return nil;

    return [self.storyboard instantiateViewControllerWithIdentifier:@"pageView"];
}

关于ios - UIPageViewController 有条件地转到下一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40213526/

相关文章:

iOS - 翻转动画,从小到大

ios - AVPlayer 播放完毕退出全屏

swift - PageViewController透明或没有背景

ios - UIImageView 拖放到另一个上

ios - CLLocation2D 未获取从变量分配的值

ios - 核心数据中的并发

ios - 具有常量元素的 UIPageViewController(不会在滑动时移动)

objective-c - 如何在基于页面的应用程序中禁用 View 中的页面滑动

iphone - 如何动态设置 ScrollView 的内容大小

iphone - 在 Objective-C 中暂停/恢复下载