【发布时间】:2016-01-21 20:27:07
【问题描述】:
我有一个带有UIPageViewController 的应用程序,其设置如下:
UINavigationController *navController = (UINavigationController *)[self.storyboard instantiateViewControllerWithIdentifier:@"VCNavController"];
self.navViewControllers = [NSArray arrayWithObjects:navController, nil];
self.pageViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"MainPageViewController"];
self.pageViewController.dataSource = self;
self.pageViewController.delegate = self;
self.pageViewController.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
[self addChildViewController:self.pageViewController];
[self.view addSubview:self.pageViewController.view];
[self.pageViewController didMoveToParentViewController:self];
if ([self.navViewControllers count] != 0)
{
[self.pageViewController setViewControllers:@[self.navViewControllers[0]]
direction:UIPageViewControllerNavigationDirectionForward
animated:NO completion:nil];
}
我已经实现了所有必要的委托函数,并且托管 UIPageViewController 的 MainViewController 符合 UIPageViewControllerDataSource 和 UIPageViewControllerDelegate。
层次结构
-
MainViewController-
UIPageViewController-
UINavigationControllerUIViewController
-
-
我的层次结构中的最后一个UIViewController 显示正确,但是我无法滑动UIPageViewController。 我没有解释一个明显的原因吗?我在想UINavigationController 可能与委托/数据源提供的委托函数不能很好地配合,或者 @ 987654334@ 干扰触摸。然而,我无法让它工作。
【问题讨论】:
标签: ios objective-c uiviewcontroller uinavigationcontroller uipageviewcontroller