我有一个UIPageViewController。我想在读完最后一页时弹回根导航控制器。到目前为止我正在使用:
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
NSUInteger index = ((TutorialContentViewController*) viewController).pageIndex;
if (index == NSNotFound) {
return nil;
}
index++;
if (index == [self.images count]+1) {
[self.navigationController popToRootViewControllerAnimated:NO];
return nil;
}
return [self viewControllerAtIndex:index];
}
弹出它。虽然它看起来有些小问题,但有时会突然出现它有时它并不认为我需要将[self.navigationController popToRootViewControllerAnimated:NO];
放在其他地方。是否有类似scrollViewDidEndDecelerating的方法:在UIScrollView中,当它停止滚动到最后一页时我可以用它来触发它?任何指针都会非常感激。谢谢!
答案 0 :(得分:0)
设置UIPageViewController使用的滚动视图的委托。
for (UIView *view in self.pageViewController.view.subviews) {
if ([view isKindOfClass:[UIScrollView class]]) {
[(UIScrollView *)view setDelegate:self];
}
}
然后实现scrollViewDidEndDecelerating:
方法来检查页面索引并从那里弹回根视图控制器。