0

我正在使用 UITapGestureRecognizer 在 UITableViewCell 上进行 doubleTap。

所以我以这种方式在 CellForRowAtIndexPath 中添加了手势。

  UITapGestureRecognizer *m_doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doubleTap:)];
    m_doubleTap.numberOfTapsRequired = 2;


    [tableCell addGestureRecognizer:rightSwipeGestureRecogniser];
    [tableCell addGestureRecognizer:m_doubleTap];

- (void)doubleTap:(UITapGestureRecognizer *)gestureRecogniser
{
}

没有得到相反,这被称为

  • (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { }

所以我尝试了这个..

 m_doubleTap.cancelsTouchesInView = YES;
   m_doubleTap.delaysTouchesBegan = YES;

现在它可以工作了,但是 didSelectRowAtIndexPath 函数变得非常慢。

那么如何解决这个问题。

4

1 回答 1

1

尝试设置

[cell setUserInteractionEnabled:YES];

希望这能解决您的问题。

或尝试实现以下方法并返回nil

- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath
于 2013-06-19T08:12:18.590 回答