容器中的交互式UITableViewController

时间:2013-07-11 00:17:53

标签: ios objective-c uitableview childviewcontroller

正在使用和iOS应用程序我目前已经设置:

RootViewController通过

连接到UITableViewController
[self addChildViewController:tableVC];

使用tableVC.view作为rootViewControllers视图的子视图。然后,RootVC有一个UIPanGestureRecognizer,用于为显示该表的平移显示动画。

这一切都很好,表格很好,作为静态视图,但是当你尝试触发时

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

通过点击一个单元格,它永远不会被调用。我已经检查了手势识别器是否意外注册了水龙头,但它们不是。

我是否需要以某种方式告诉RootVC当tableView在屏幕上发送给子UITableViewController?

1 个答案:

答案 0 :(得分:0)

感谢rdelmar帮助我解决这个问题,并提出了使用UITableView超级视图的clipToBounds属性的建议。

这表明通过平移显示的UIViews没有响应任何触摸,因为它们超出了他们的超级视图范围。

我通过添加另一个具有相应尺寸的视图'spanView'来解决这个问题,以包含所有子视图。在此之后,他们按预期回应了接触。

结果最终成为:

                         -> leftTableView
RootVC.view - > spanView -> centerView
                         -> rightTableView

请注意,我必须创建一个RootVC的子视图来实现这一点,因为在viewDidLoad iOS将rootVC.view设置为设备屏幕的边界之后