在tableViewCell中滚动UITableView

时间:2013-04-12 07:57:16

标签: objective-c uitableview

我有一个自定义单元格,并将viewController作为子视图添加到该单元格中:

TestViewController *vc = [[TestViewController alloc] initWithNibName:@"TestViewController" bundle:nil];
[self addSubview:vc.view]; 

新的viewController中有一个tableView。当我尝试滚动该tableView时,正在滚动自定义单元所在的基本tableView。

我该如何解决这个问题?

提前致谢

1 个答案:

答案 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];
}

请注意,pointInChildTablechildTableForPoint应该与返回带结果的字典的方法相同。我将它们分开只是为了解释。

希望这有帮助。