我有一个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;
}
这不起作用,因为在滚动页面时会调用这些函数。我该如何实现此功能?除了创建自定义分段。