2011-12-27 98 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