2011-12-27 47 views
0

我需要做的是添加一个视图,然后有一个单一的水龙头识别器,当用户点击屏幕上,然后将显示NSLog;添加UIGestureRecognizer setter方法没有找到

这就是我所做的;

我将UIGestureRecognizerDelegate添加到我的.h文件中。而在.m我写了下面的代码

UIView* view1 = [[UIView alloc] initWithFrame: 
          [[UIScreen mainScreen] applicationFrame]]; 
UIGestureRecognizer *one= [[UIGestureRecognizer alloc] initWithTarget:self action:@selector(onetapmethod:)]; 
[one setDelegate:self]; 
[one setDelaysTouchesBegan:YES]; 
[view addGestureRecognizer:one]; 

我做这个根据tutorial,并根据教程中我将不得不增加setNumberOfTaps:1,但是当它说,setter方法没有找到。

这是为什么?

以及如何编辑我的代码以使其工作?

我的代码是否正确? (添加gestureRecogniser查看[view addGestureRecognizer:one];)?

+0

找不到哪种方法?你能给出实际上给出错误的代码行吗? – jrturton 2011-12-27 15:53:49

回答

2

您应该使用UITapGestureRecognizer而不是UIGestureRecognizer。

1

您需要使用UITapGestureRecognizer。

0

setNumberOfTaps不是有效的UIGestureRecognizer方法。您可能的意思是setNumberOfTapsRequired:,但这是UITapGestureRecognizer的一种方法,它是UIGestureRecognizer的子类。

0

正如其他人已经回答,您应该使用UITapGestureRecognizer。只有,我会为您提供一些信息:

请参阅UITapGestureRecognizer Class Referencevarious examples使用不同的手势识别器。

+0

我经历了代码,我看到这条线添加到视图[[self view] addGestureRecognizer:oneFingerTwoTaps]; 。有没有从视图中移除gestureRecogniser? – Illep 2011-12-27 16:32:53

+0

是的,真的!所有你需要做的就是调用视图的'removeGestureRecognizer:'方法。 [详细信息](http://developer.apple.com/library/ios/#documentation/uikit/reference/uiview_class/UIView/UIView.html#//apple_ref/doc/uid/TP40006816-CH3-SW101) – Jeremy 2011-12-27 17:08:39