我试图解雇当用户滚过最后一页时以模态方式呈现的UIPageViewController。有没有办法告诉这种情况何时发生? 当显示最后一个视图控制器时,将调用viewControllerAfterViewController。
编辑:我还试图添加UISwipeGestureRecognizers,但它们没有被调用。我认为这是因为UIPageViewController的手势识别器禁用了它们。
答案 0 :(得分:1)
UIViewController:viewWillAppear:animated
。所以你可以添加一个虚拟的最后一页,并在调用它时忽略pageViewController。
答案 1 :(得分:0)
您没有说明您正在使用的语言,因此在Objective-C
中您应该将viewControllerAfterViewController
方法设置为如下所示:
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {
NSUInteger index = [(CustomViewController *)viewController index];
index++;
if (index == 10) { // the number of controllers you have.
return nil;
}
return [self viewControllerAtIndex:index]; // you view controller creation method.
}
每当用户尝试滑动您的网页时,都会调用 viewControllerAfterViewController
。如果用户试图超出最后一页,则此方法应返回nil。发生这种情况时,请忽略pageViewController
。