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

Posted

技术标签:

【中文标题】如何有条件地转到pageViewController中的下一页?【英文标题】:How to conditionally go to the next page in pageViewController? 【发布时间】:2015-08-29 05:36:40 【问题描述】:

我在我的应用程序中使用 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】:

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

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

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

【讨论】:

以上是关于如何有条件地转到pageViewController中的下一页?的主要内容,如果未能解决你的问题,请参考以下文章

如何有效地转置非方阵?

如何更快速地转置数组?

在 Python 中懒惰地转置一个列表

有没有一种方法可以简单地转置 SQL 中的表。此表包含 Numeric 和 Varchar 值

同一网址页面中的 Ionic 5 路由

如何保护隐藏字段数据不被更改