UILongPressGestureRecognizer不能正常工作,但换一个UITapGestureRecognizer可以正常工作。 为什么?

我有一个UIImageViewUILongPressGestureRecognizer附件,似乎从来没有检测到长按手势,无论我如何configuration手势识别器。 但是,如果我换了一个UITapGestureRecognizer工作得很好。 可能会发生什么?

这是我如何configuration我的UILongPressGestureRecognizer

 UIImageView* cellView = (UIImageView*)[view viewWithTag:5]; UILongPressGestureRecognizer* longPressGestureRec = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(cellLongPress:)]; longPressGestureRec.numberOfTapsRequired = 1; longPressGestureRec.numberOfTouchesRequired = 1; longPressGestureRec.minimumPressDuration = 0.4; [cellView addGestureRecognizer:longPressGestureRec]; [longPressGestureRec release]; 

这是cellLongPress样子:

 -(void)cellLongPress:(UILongPressGestureRecognizer*)recognizer { // This never gets called. NSLog(@"someone long pressed me"); } 

很简单,对吧? 但是,到目前为止还没有运气。 有任何想法吗?

numberOfTapsRequired设置为1 ,这意味着用户开始长按之前 (手指向下,手指向上,手指向下0.4秒,手势识别),必须点击一次。

numberOfTapsRequired更改为0 (这是默认值)。

对于该财产,文件只是说:

手势被识别所需的视图上的点击数量。

但是在UILongPressGestureRecognizer.h的注释中,它说:

手势被识别之前所需的全部敲击次数