0

为了我的需要,我在 UISCrollView 下直接添加了一个 UITableView :

--- 主界面视图

-------- UITableView

-------- UIScrollView

因此,当我滚动滚动视图时,我会更改表视图的内容偏移量。它完美地工作。但是当我尝试选择一个单元格时,我无法捕获委托方法:

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

有什么特别的事情要做吗?我试图继承 UIScrollView 并实现:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

它可以工作,但我无法滚动我的 UIScrollView ...

4

1 回答 1

2

试试这个,

-(void)handleSingleTap:(UILongPressGestureRecognizer *)gestureRecognizer{
    CGPoint p = [gestureRecognizer locationInView:myScroll];
    NSIndexPath *indexPath = [myTable indexPathForRowAtPoint:p];
    [myTable selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
    [self tableView:myTable didSelectRowAtIndexPath:indexPath];
}

你必须使用 UITapGestureRecognizer ...

UITapGestureRecognizer *tpgr = [[UITapGestureRecognizer alloc]
                                initWithTarget:self action:@selector(handleSingleTap:)];
tpgr.numberOfTapsRequired = 1;
[myScroll addGestureRecognizer:tpgr];
于 2013-02-05T09:20:18.377 回答