2012-02-09 21 views
3

我已經建立了我的表格單元格手勢識別我的IOS5應用程序獲取抽頭細胞:在UITapGestureRecognizer處理

UITapGestureRecognizer* oneFingerDoubleTap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(cellOneFingerDoubleTap:)]; 
oneFingerDoubleTap.numberOfTapsRequired = 2; 
[cell addGestureRecognizer:oneFingerDoubleTap]; 

而實現的處理方法:

- (void)cellOneFingerDoubleTap:(id) sender 
{ 
    NSLog(@"taptap"); 
} 

它工作正常。我的問題是我無法通過竊聽單元的竊聽或其他數據。正如我所看到的(id)sender是UITapGestureRecognizer本身。

我的問題是:如何獲取處理程序方法(cellOneFingerDoubleTap)中的挖掘單元格?我怎樣才能在處理器方法中獲取tapped單元格的索引?

謝謝!

回答

9

如果您從您的cellOneFingerDoubleTap:方法中傳遞給您的手勢識別器中獲取view,那麼您將獲得已被點擊的單元格。喜歡的東西:

- (void)cellOneFingerDoubleTap:(UIGestureRecognizer*)recognizer { 
    UITableViewCell *cell = (UITableViewCell*)recognizer.view; 
} 

[我只是一個「細胞」假設你的方式意味着UITableViewCell]

+0

非常感謝! – Tom 2012-02-09 00:50:57

0

UIGestureRecognizer有,你可以用它來獲得一個

-(UIView *)view 

財產它所附的觀點。

既然您將識別器附加到UITableViewCell,請將識別器的視圖傳遞給UITableView;

-indexPathForCell: