【发布时间】:2014-07-29 13:24:47
【问题描述】:
我正在尝试通过验证每一步来实现UIPageViewController。我的代码在没有验证的情况下工作正常,所以所有页面似乎都做得很好。这是我的代码:
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController {
int index = [(MyViewController *) viewController index];
index--;
return [_viewModel viewControllerAtIndex:index];
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {
BOOL isDataValid = [(MyViewController *) viewController validateData];
if (isDataValid) {
int index = [(MyViewController *) viewController index];
index++;
return [_viewModel viewControllerAtIndex:index];
}
return nil;
}
我的问题是,当显示第 1 步时,会调用 viewControllerAfterViewController 来准备第 2 步,但是因为第 2 步无效(用户没有机会输入数据)所以它返回 nil。我希望UIPageViewController 每次用户尝试滑动到下一个屏幕并且在收到零后不放弃时调用viewControllerAfterViewController。可行吗?
【问题讨论】:
标签: ios ios7 uipageviewcontroller