2

長押しのジェスチャーで、次のような問題が発生します。

*mypressrec = [[UILongPressGestureRecognizer alloc]
                                         initWithTarget:self 
                                         action:@selector(pressdetected:)];
    mypressrec.minimumPressDuration = 3;
    [self addGestureRecognizer:mypressrec];
    [mypressrec release];

私の機能:

    -(void)pressdetected:(UILongPressGestureRecognizer*)recognizer{
     //My code goes here
  a=90;
   NSLog(@"value of my A",a);
}

ここで3秒以上押すと、Aの値が2回印刷されます。なぜそれが起こるのですか?

4

1 に答える 1

4

UILongPressGestureRecognizerの状態を確認するには、セレクターメソッドにifステートメントを追加するだけです。

- (void)pressdetected:(UILongPressGestureRecognizer*)sender { 
if (sender.state == UIGestureRecognizerStateEnded) {
    NSLog(@"Long press Ended");
}
else {
    NSLog(@"Long press detected.");
}
}  
于 2012-11-02T09:37:56.590 に答える