2014-07-01 65 views
3

我viewcontrollers的架构是:的UITableView不能被窃听 - didSelectRowAtIndexPath方法不会激发

mainViewController(full-screen) 
      | 
      V 
    pageViewController(part-of-screen) 
     |    | 
     V    V 
tableViewController1 tableViewController2 

与大多数现有员额中,UIPageViewController设置为风格:UIPageViewControllerTransitionStyleScroll,这意味着pageVC.gestureRecognizers是空的,我无法找到tapGuesture禁用。

我搜索了整个下午的网站,发现没有解决方案(大多数答案都与pageCurlStyle有关)。我已经试过包括:

  1. 设置tableViewController.view的委托mainViewController,没用
  2. 实施gestureRecognizer:shouldReceiveTouch,甚至不叫
  3. pageVC.gestureRecognizers是空

我的天堂试图做UITouch级别的事情,这将是一种肮脏,并且将是尝试的最后一步。

我的代码是下面所附,一些说明:

  1. UIPageViewController * pageVC是mainViewController的数据成员)
  2. listVCs包含UITableViewControllers

的代码:

// 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

你可以尝试UITableView而不是UITableView控制器,因为它对我有用。 – jailani

+0

@jailani感谢您的评论。但UIPageViewController是一个控制器容器,它管理UIViewControllers而不是UIView本身。我不知道如何在没有UITableViewController的情况下将UITableView添加到UIPageViewController中... –

+0

从您的视图层次结构中...您正在将视图控制器(UITableViewcontroller)提供给uipageview控制器...您可以创建uiviewcontroller来代替UITableViewController,可以添加UITableview – jailani

回答

0

从您的视图层次结构中...您正在喂食视图控制器(UITableViewcontroller)到UIPageViewController对不对?您可以创建UIViewController而不是UITableViewController,您可以在其中添加UITableview

+1

这是怎么回事??!?!我有同样的确切问题,我有他们里面的UICollectionView viewControllers,但我也发现在那里的选择问题..! – akshaynhegde

+0

你能解释一下你的问题吗? – jailani

相关问题