UITapGestureRecogniser不使用UiTableViewCell

时间:2013-06-18 09:56:40

标签: uitableview uigesturerecognizer uitapgesturerecognizer

我正在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函数变得很慢。

那么如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

尝试设置

[cell setUserInteractionEnabled:YES];

希望这能解决你的问题。

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

- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath