在uipageviewcontroller中禁用第一个视图和最后一个视图的滑动

时间:2016-07-14 14:17:27

标签: ios uipageviewcontroller

我正在使用PageViewController。我希望在页面是第一页或最后一页时禁用滑动。

如果显示第一页,则应禁用左侧滑动,当页面位于最后一页时,右侧滑动手势将被禁用。

如果我使用以下代码,则滑动无法正常工作

if(index == 0)
  for (UIScrollView *view in pageViewController.view.subviews) {

        if ([view isKindOfClass:[UIScrollView class]]) {

            view.scrollEnabled = NO;
        }
    }  }
  else if(index ==[images_array count]){
   for (UIScrollView *view in pageViewController.view.subviews) {

        if ([view isKindOfClass:[UIScrollView class]]) {

            view.scrollEnabled = NO;
        }
    } }

我如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

您需要添加以下方法,滚动到视图控制器时将调用该方法。然后,您可以检查它是否在正确的索引处,然后禁用滚动。

func pageViewController(pageViewController: UIPageViewController, willTransitionToViewControllers pendingViewControllers: [UIViewController]) {
    if pendingViewControllers.count > 0 {
        let vc = pendingViewControllers[0] as! ViewController
        // Check index of vc


    }
}

在Objective-C中:

- (void)pageViewController:(UIPageViewController *)pageViewController
willTransitionToViewControllers:(NSArray<UIViewController *> *)pendingViewControllers {
    if ([pendingViewControllers count] > 0) {
        ViewController *vc = pendingViewControllers[0]
        // Check index of vc


    }
}