如何在IB(iPhone / iPad)中使用手势识别器?

时间:2011-12-12 17:54:03

标签: iphone interface-builder uigesturerecognizer ibaction uitapgesturerecognizer

我刚刚在IB中发现了手势识别器,我想利用它们。我已经尝试过Tap Gesture Recognizer但它似乎不起作用。这就是我所做的......

  1. 将“Tap Gesture Recognizer”拖放到IB中的视图控制器中。

  2. 在.m文件中添加了以下方法......

    - (IBAction)viewTapped:(UIGestureRecognizer *)sender
    {
        // Do some stuff
    }
    
  3. 在.h文件中声明了方法......

    - (IBAction)viewTapped:(UIGestureRecognizer *)sender;
    
  4. 最后,我将IBAction与IB中的“Tap Gesture Recognizer”联系起来。

  5. 当我尝试运行时,我没有成功 - 我错过了什么吗?

3 个答案:

答案 0 :(得分:23)

按住Control键并单击笔尖中的手势识别器。在弹出窗口的“引用插座集合”部分下,它是否显示任何连接?它需要连接到您的视图的gestureRecognizers集合,如下所示:

connections inspector

如果未连接,请将识别器拖到要连接的视图上。您可以将其拖动到设计区域中的视图上,也可以将其拖动到左侧轮廓中的视图行上。

答案 1 :(得分:6)

在属性检查器中,确保“状态”已启用且“已在视图中取消”和“延迟开始”事件已选中。

答案 2 :(得分:1)

我遇到了UIImageView的手势识别器问题。为了实现这一点,我必须检查userInteractionEnabled的{​​{1}}。