我有一个由多个视图控制器组成的页面视图控制器。我希望实现这一点,当涉及到页面视图控制器的最后一页并且用户将其滑动时,它可以转到另一个视图控制器。
以下是方法viewControllerAfterViewController
中的代码:
-(UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
NSString *vcRestorationID = viewController.restorationIdentifier;
NSUInteger index = [self.contentPageRestorationIDs indexOfObject:vcRestorationID];
if (index==self.contentPageRestorationIDs.count-1) {
if ([_source isEqual:@"HelpViewController"]) {
[self performSegueWithIdentifier:@"toHelp" sender:self];
}
else if ([_source isEqual:@"ViewController"]){
[self performSegueWithIdentifier:@"toMain" sender:self];
}
//return nil;
}
return [self viewControllerAtIndex:index+1];
}
当我在pageViewController中滑动页面时,我认为正在调用viewControllerAfterViewController
。我现在的问题是,当涉及到最后一页时,有时它只是执行segue而不是滑动,但有时它可以正常工作并在我滑动后执行segue。而且我不知道它什么时候会起作用。
我想知道为什么会这样?有办法解决吗?