2011-09-06 19 views

答えて

74

タップするビューにUITapGestureRecognizerを追加する必要があります。このよう

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)]; 
    tapGesture.numberOfTapsRequired = 2; 
    [self.view addGestureRecognizer:tapGesture]; 
    [tapGesture release]; 
} 

- (void)handleTapGesture:(UITapGestureRecognizer *)sender { 
    if (sender.state == UIGestureRecognizerStateRecognized) { 
     // handling code 
    } 
} 
+5

複数のジェスチャ認識プログラムが存在する場合は、次のコマンドを使用して、 "高優先度"のダブルタップを確認できます:[self.view.tapGestureRecognizer requireGestureRecognizerToFail:self.doubleTapGestureRecognizer]; –

+2

あなたのクラスのプライベートインターフェイスにを追加することを忘れないでください... @interface IBMYourClassName()

8

UITapGestureRecognizernumberOfTapsRequired = 2というビューに追加します。

+0

はUITapGestureRecognizerはコントロールですか?そのコントロールにないライブラリ – Azhar

+0

これはUIGestureRecognizerサブクラスです。コードで記述する必要があります。 –

+0

私はこのコードをセレクタとUIAlertで書いていますが、動作しません。 - (void)viewDidLoad { UITapGestureRecognizer * tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture :)]; tapGesture.numberOfTapsRequired = 2; \t [tapGesture release]; \t } – Azhar