UITableViewCell中的UIGestureRecognizer

时间:2012-01-02 09:18:06

标签: objective-c ios cocoa-touch uitableview uigesturerecognizer

在我的UITableViewCell中,我有UISwipeGestureRecognizer在单元格中滑动图像,我被卡住了。例如,GestureRecognizer调用方法,增加图像数量并重新加载行。如何定义触摸的行并将其编号传递给方法?

2 个答案:

答案 0 :(得分:1)

我发现,我们可以通过触摸坐标定义滑动细胞。看起来像这样:

if (recognizer.state == UISwipeGestureRecognizerStateEnded) {
    CGPoint gestureLocation = [recognizer locationInView:self.tableView];
    NSIndexPath *swipedIndexPath = [self.tableView indexPathForRowAtPoint:gestureLocation]; 
//found IndexPath for swiped cell. Now we can do anything what we need. 
//In my case it's cell reloading with new image in UIImageView.
NSArray *rowsToReload = [[NSArray alloc] initWithObjects:swipedIndexPath, nil];
[self.tableView reloadRowsAtIndexPaths:rowsToReload withRowAnimation:UITableViewRowAnimationNone];

答案 1 :(得分:0)

可能你应该禁用细胞选择 - 通常会触发细胞重新加载。