如何让UIPageViewController只在UINavigationController的根控制器上滚动?

时间:2015-04-23 20:12:40

标签: ios uinavigationcontroller uipageviewcontroller pushviewcontroller

我有一个UIPageViewController,它有一个导航控制器和一个视图控制器。我想制作它,因此如果打开了新的推模或新的模块化视图,则禁用页面视图控制器滚动。因此,我将Restoration ID添加到UINavigationController的根视图控制器中,并为数据源添加了以下代码:

// viewDidLoad
self.pageViewController.setViewControllers([feedViewController],
    direction: UIPageViewControllerNavigationDirection.Reverse,
    animated: false, completion: nil);

func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? {
    if self.feedViewController.visibleViewController.restorationIdentifier != "FeedViewCtrl" {
        return nil;
    }

    if viewController == self.friendsViewController {
        return self.feedViewController;
    }
    return nil;
}

func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? {
    if self.feedViewController.visibleViewController.restorationIdentifier != "FeedViewCtrl" {
        return nil;
    }

    if viewController == self.feedViewController {
        return self.friendsViewController;
    }
    return nil;
}

这不起作用,因为在滚动页面时会调用这些函数。我该如何实现此功能?除了创建自定义分段。

0 个答案:

没有答案