2010-06-20 6 views

Répondre

3

Le doc dit

Si l'utilisateur fait glisser son doigt alors assez loin avant que le temps soit écoulé , la vue de défilement annule tout suivi dans la sous-vue et effectue lui-même le défilement. TouchShouldBegin: withEvent: inContentView :, pagingEnabled, et touchesShouldCancelInContentView: les méthodes (appelées par la vue de défilement ) affectent la façon dont la vue déroulante gère les mouvements de défilement.

Donc, je pense qu'il n'y a pas de moyen facile de le faire. Vous devez probablement réimplémenter tout le système de minuterie dans ces méthodes.

0

Je viens suis tombé sur ce problème et voici ma solution:

Sous UIScrolView

Ajoutez remplacer ces méthodes:

- (BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view 
{ 


    self.lastTimestamp = [NSDate date]; 

    return [super touchesShouldBegin:touches withEvent:event inContentView:view]; 
} 

- (BOOL)touchesShouldCancelInContentView:(UIView *)view 
{ 
     NSDate *now = [NSDate date]; 


    if (-[self.lastTimestamp timeIntervalSinceDate:now] < _delay) 
     return YES; 

    return NO; 
} 
Questions connexes