在UIPageViewController中寻找一个方法,如scrollViewDidEndDecelerating:

时间:2015-04-24 16:18:46

标签: ios objective-c uipageviewcontroller

我有一个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中,当它停止滚动到最后一页时我可以用它来触发它?任何指针都会非常感激。谢谢!

1 个答案:

答案 0 :(得分:0)

设置UIPageViewController使用的滚动视图的委托。

for (UIView *view in self.pageViewController.view.subviews) {
     if ([view isKindOfClass:[UIScrollView class]]) {
         [(UIScrollView *)view setDelegate:self];
     }
 }

然后实现scrollViewDidEndDecelerating:方法来检查页面索引并从那里弹回根视图控制器。