【问题标题】:Single- & Double-Tap-Recognition on UIScrollViewUIScrollView 上的单击和双击识别
【发布时间】:2011-04-14 08:47:56
【问题描述】:

我有一个 UIScrollView,其中有几个 UIView,其中包含一个 UIImageView 和一个 UILabel。单击其中一个图像时,将显示一个带有单个文本的框。但是现在我还想实现缩放和滚动到图像的可能性(在 ScrollView 中显示带有图像的 UIImageView,这实际上不是问题)。但我需要知道,当图片被双击时。

我目前使用带有 NumberOfTapsRequires:1 的 UITapGestureRecognizer 来显示带有文本的框。但是第二个需要触摸 2 的 UITapGestureRecognizer 不起作用,因为第一个识别器是在之前拍摄的,并在整个屏幕上显示该框。

也许你有一个想法,如何实现这一点。如果它是一个 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;

第二个识别器有时会被拍摄,但主要是第一个。有什么想法吗?

【问题讨论】:

    标签: iphone uiscrollview gesture-recognition


    【解决方案1】:

    解决方案可能是使用以下代码片段,requireGestureRecognizerToFail 将为您解决问题:

    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];
    

    【讨论】:

      【解决方案2】:

      @Kevin 我想你想定义 numberOfTapsRequired 而不是 numberOfTouchesRequired 两者都是不同的东西。检查相同的文档以获得更清晰的信息

      http://developer.apple.com/library/ios/#documentation/uikit/reference/UITapGestureRecognizer_Class/Reference/Reference.html#//apple_ref/occ/cl/UITapGestureRecognizer

      【讨论】:

      • 哦,我的意思是 numberOfTapsRequired,在我的问题中更正了。但是感谢链接,我真的不知道两者之间的区别。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-02
      • 1970-01-01
      • 2011-09-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多