我的viewcontrollers架构是:
mainViewController(full-screen)
|
V
pageViewController(part-of-screen)
| |
V V
tableViewController1 tableViewController2
与大多数现有帖子不同,UIPageViewController设置为样式: UIPageViewControllerTransitionStyleScroll ,这意味着pageVC.gestureRecognizers为空,我找不到要禁用的tapGuesture。
我在网站上搜索了整整一个下午,并找不到解决方案(大多数答案都与pageCurlStyle有关)。我尝试过的内容包括:
我没有尝试过UITouch级别的东西,这会很脏,并且是尝试的最后一步。
我的代码附在下面,有些解释:
代码:
// 3. create page view controller
pageVC = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil];
pageVC.dataSource = self;
pageVC.delegate = self;
pageVC.doubleSided = NO;
pageVC.view.frame = _viewLayoutRef.frame;
// 3.1 set the VCs into pageVC
NSArray* aVC = @[[listVCs objectAtIndex:0]];
[pageVC setViewControllers:aVC direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];
// 3.2 hook page view controller
[self addChildViewController:pageVC];
[self.view addSubview:pageVC.view];
[pageVC didMoveToParentViewController:self];
答案 0 :(得分:0)
从您的视图层次结构...您正在向视图控制器(UITableViewcontroller
)提供给UIPageViewController
对吗?您可以创建UITableViewController
而不是UIViewController
,而不是UITableview
。