2012-01-24 3 views
0
UILongPressGestureRecognizer *longPressOnUndoGesture = [[UILongPressGestureRecognizer alloc] 
    initWithTarget:self 
    action:@selector(handleLongPressOnUndoGesture:)]; 
    [longPressOnUndoGesture setMinimumPressDuration:2.0]; 
    [longPressOnUndoGesture release]; 

У меня есть код выше, чтобы дезактивировать таймер автопрокрутки в моем приложении, это функция для этого.UILongPressGesture in iphone sdk

-(void) handleLongPressOnUndoGesture:(UILongPressGestureRecognizer*)recognizer { 
    [autoscrollTimer invalidate]; 

} 

но когда я taptohold в течение 2-х секунд оно не остановит timer.is там любая ошибка в моем коде для жеста. Спасибо заранее.

ответ

3

Вы не используете распознаватель жестов, так как вы отпустите его немедленно, когда вы его создали. Вы должны прикрепить его к виду, как это:

UILongPressGestureRecognizer *longPressOnUndoGesture = [[UILongPressGestureRecognizer alloc] 
initWithTarget:self 
action:@selector(handleLongPressOnUndoGesture:)]; 
[longPressOnUndoGesture setMinimumPressDuration:2.0]; 

// TRICK HERE 
[self.view addGestureRecognizer:longPressUndoGesture]; 

[longPressOnUndoGesture release]; 
+0

ohh my god.thanks очень много. – stackiphone

+0

Не могли бы вы поддержать и принять, если это поможет. Спасибо. –

2

мне кажется, что вы не добавляете жест распознаватель к мнению, она должна работать на:

[self.view addGestureRecognizer: longPressOnUndoGesture]; 

(если self это ваш контроллер).