OGeek|极客世界-中国程序员成长平台

标题: ios - 在 uipageviewcontroller 中禁用第一个 View 和最后一个 View 的滑动 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 16:59
标题: ios - 在 uipageviewcontroller 中禁用第一个 View 和最后一个 View 的滑动

我正在使用 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;
        }
    } }

我如何做到这一点?



Best Answer-推荐答案


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

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


    }
}

在 Objective-C 中:

- (void)pageViewControllerUIPageViewController *)pageViewController
willTransitionToViewControllersNSArray<UIViewController *> *)pendingViewControllers {
    if ([pendingViewControllers count] > 0) {
        ViewController *vc = pendingViewControllers[0]
        // Check index of vc


    }
}

关于ios - 在 uipageviewcontroller 中禁用第一个 View 和最后一个 View 的滑动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38376663/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4