【发布时间】:2016-01-31 15:28:14
【问题描述】:
我在ViewController 中创建了一个PageViewController,如下所示:
MainViewController (viewDidLoad())
self.pageViewController = UIPageViewController(transitionStyle: .Scroll, navigationOrientation: .Horizontal, options: nil)
self.pageViewController.dataSource = self
self.pageViewController.delegate = self;
self.pageViewController.view.frame = CGRectMake(0, 100, self.view.frame.size.width, self.view.frame.size.height)
let initialViewController : UIViewController! = viewControllerArray.objectAtIndex(self.currentPageIndex) as! UIViewController
let viewControllers: NSArray? = NSArray(objects: initialViewController)
pageViewController.setViewControllers(viewControllers as? [UIViewController], direction: .Forward, animated:true, completion: nil)
self.addChildViewController(self.pageViewController)
self.view.addSubview(self.pageViewController.view)
self.pageViewController.didMoveToParentViewController(self)
self.syncScrollView()
一切都很好。这个viewController在方法上捕获事件
func presentationCountForPageViewController(pageViewController: UIPageViewController) -> Int
我的问题是这个 pageViewController 的其中一个页面里面有其他 UIPageViewController,与其他 UIViewController 相关联。我创建另一个 UIPageViewController 的方式是:
SecondViewController (viewDidLoad())
self.pageNoticiaViewcontroller = UIPageViewController(transitionStyle: .Scroll, navigationOrientation: .Vertical, options: nil)
self.pageNoticiaViewcontroller.didMoveToParentViewController(self);
self.pageNoticiaViewcontroller.dataSource = self;
self.pageNoticiaViewcontroller.delegate = self;
let startVC = self.getControllerAtIndex(0) as InicioIndividualUIViewController;
let viewControllers = NSArray(object: startVC);
self.pageNoticiaViewcontroller.setViewControllers(viewControllers as? [UIViewController], direction: .Forward, animated: true, completion: nil);
self.pageNoticiaViewcontroller.view.frame = CGRectMake(0, 0, self.view.frame.width, self.view.frame.height - 40);
self.addChildViewController(self.pageNoticiaViewcontroller);
self.view.addSubview(self.pageNoticiaViewcontroller.view);
问题是:
第二个 PageViewController (pageNoticiaViewController)不调用方法presentationCountForPageViewController,但调用方法presentationCountForPageViewController父级
我怎么能做到第二个PageViewController 调用第二个 UIViewController 的方法presentationConuntForPageViewController,而不是调用父级的方法?非常感谢!
【问题讨论】:
标签: swift uiviewcontroller uipageviewcontroller