正在使用和iOS应用程序我目前已经设置:
RootViewController通过
连接到UITableViewController[self addChildViewController:tableVC];
使用tableVC.view作为rootViewControllers视图的子视图。然后,RootVC有一个UIPanGestureRecognizer,用于为显示该表的平移显示动画。
这一切都很好,表格很好,作为静态视图,但是当你尝试触发时
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
通过点击一个单元格,它永远不会被调用。我已经检查了手势识别器是否意外注册了水龙头,但它们不是。
我是否需要以某种方式告诉RootVC当tableView在屏幕上发送给子UITableViewController?
答案 0 :(得分:0)
感谢rdelmar帮助我解决这个问题,并提出了使用UITableView超级视图的clipToBounds属性的建议。
这表明通过平移显示的UIViews没有响应任何触摸,因为它们超出了他们的超级视图范围。
我通过添加另一个具有相应尺寸的视图'spanView'来解决这个问题,以包含所有子视图。在此之后,他们按预期回应了接触。
结果最终成为:
-> leftTableView
RootVC.view - > spanView -> centerView
-> rightTableView
请注意,我必须创建一个RootVC的子视图来实现这一点,因为在viewDidLoad iOS将rootVC.view设置为设备屏幕的边界之后