我已经为此花费了几个小时。我已经用 进行了初始化UIPageViewController
,UIPageViewControllerNavigationOrientationHorizontal
但由于某种原因viewControllerBeforeViewController
,当用户垂直平移时会调用它。
此外,当这种情况发生时,不会发生翻页,didFinishAnimating:didFinishAnimating:previousViewControllers:transitionCompleted
也不会被调用。这意味着页面视图控制器知道这是一个垂直移动..
这是初始化代码 -
- (void)initPageViewController
{
self.pageViewController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStylePageCurl
navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal
options:nil];
self.pageViewController.delegate = self;
self.pageViewController.dataSource = self;
[self addChildViewController:self.pageViewController];
[self.view addSubview:self.pageViewController.view];
// Set the page view controller's bounds using an inset rect so that self's view is visible around the edges of the pages.
self.pageViewController.view.frame = self.view.bounds;
[self.pageViewController didMoveToParentViewController:self];
// Leave only pan recognizers enabled, so buttons positioned inside a page would work.
for (UIGestureRecognizer *gr in self.pageViewController.gestureRecognizers)
{
if ([gr class] != [UIPanGestureRecognizer class])
gr.enabled = NO;
}
}
有任何想法吗?