2012-11-02 47 views
2

以我長按手勢我有一個像的問題,UILongPressGesture檢測兩次

*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的值是印刷TWICE。爲什麼會發生?

回答

4

要檢查UILongPressGestureRecognizer的狀態,如果只是增加一個上的選擇方法聲明:

- (void)pressdetected:(UILongPressGestureRecognizer*)sender { 
if (sender.state == UIGestureRecognizerStateEnded) { 
    NSLog(@"Long press Ended"); 
} 
else { 
    NSLog(@"Long press detected."); 
} 
}