UIScrollView上的单次和两次点击识别

|| 我有一个带有几个UIView的UIScrollView,其中包含一个UIImageView和一个UILabel。单击其中一张图像时,将显示一个带有单独文本的框。但是现在我也想实现放大和滚动到Images的可能性(在ScrollView中显示带有UIImageView的图像,实际上这不是问题)。但是我需要知道图片何时被双击。 我目前使用带有NumberOfTapsRequires:1的UITapGestureRecognizer来显示带有文本的框。但是,第二个UITapGestureRecognizer的要求触摸为2不起作用,因为第一个识别器是在之前拍摄的,并在整个屏幕上显示该框。 也许您有一个想法,如何实现这一目标。如果是UITapGesture-Solution,那会很好:) 我现在已经尝试过了,但是仍然无法正常工作:
UITapGestureRecognizer *gR;
gR = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(ScrollView_onTap:)];
[gR setNumberOfTapsRequired:1];
[tmpPage addGestureRecognizer:gR];

gR = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showFunctionMenu:)];
[gR setNumberOfTapsRequired:2];
[tmpPage addGestureRecognizer:gR];

[gR release];
gR = nil;
第二个识别器有时仅被射击,但大多数情况下是第一个。有任何想法吗?     
已邀请:
@Kevin我想​​您想定义
numberOfTapsRequired
而不是
numberOfTouchesRequired
都是不同的东西。检查相同的文档以更清楚 http://developer.apple.com/library/ios/#documentation/uikit/reference/UITapGestureRecognizer_Class/Reference/Reference.html#//apple_ref/occ/cl/UITapGestureRecognizer     
一个解决方案可能是使用以下代码片段,其中“ 3”将帮您解决问题:
UITapGestureRecognizer *singleTapGR, *doubleTapGR;
singleTapGR = [[UITapGestureRecognizer alloc] initWithTarget:self
    action:@selector(mySingleTapHandler)];
doubleTapGR = [[UITapGestureRecognizer alloc] initWithTarget:self
    action:@selector(myDoubleTapHandler)];
doubleTapGR.numberOfTapsRequired = 2;
[singleTapGR requireGestureRecognizerToFail:doubleTapGR];
[view addGestureRecognizer:singleTapGR];
[view addGestureRecognizer:doubleTapGR];
    

要回复问题请先登录注册