我有一个自定义单元格,并将viewController作为子视图添加到该单元格中:
TestViewController *vc = [[TestViewController alloc] initWithNibName:@"TestViewController" bundle:nil];
[self addSubview:vc.view];
新的viewController中有一个tableView。当我尝试滚动该tableView时,正在滚动自定义单元所在的基本tableView。
我该如何解决这个问题?
提前致谢
答案 0 :(得分:3)
我建议不要嵌入tableviews但是如果你真的想这样做,解决方案可能是在hitTest
基础上实现tableView
方法:
-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
//here you will need to check if the point lies within any of the
//child tableviews and return it .. else return the super method
if ([self pointInChildTable:point]) {
return [self childTableForPoint:point];
}
return [super hitTest:point withEvent:event];
}
请注意,pointInChildTable
和childTableForPoint
应该与返回带结果的字典的方法相同。我将它们分开只是为了解释。
希望这有帮助。