IOS给tableview的cell添加长按手势执行两次(UILongPressGestureRecognizer)

这里我们为tableview添加长按手势

UILongPressGestureRecognizer *longPressGr = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressAction:)];

    longPressGr.minimumPressDuration = 0.5f;

    longPressGr.numberOfTouchesRequired = 1;

    [_tableView addGestureRecognizer:longPressGr];

    [longPressGr release];


这时我们会发现每次按住tableView并且松开的时候, longPressAction: 这个方法会执行2次

- (void)longPressAction:(UILongPressGestureRecognizer *)longPress

{

    if (longPress.state == UIGestureRecognizerStateBegan) {

        CGPoint point = [longPress locationInView:_tableView];

        

        NSIndexPath *indexPath = [_tableView indexPathForRowAtPoint:point]; // 可以获取我们在哪个cell上长按

        

        if (indexPath != nil) {

            NSLog(@"%ld", indexPath.row);

        }

        

    }

}



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。