2010-06-20 9 views

Respuesta

3

El doctor dice

si el usuario arrastra el dedo lo suficiente antes de que el temporizador transcurre, la vista de desplazamiento cancela cualquier seguimiento en la subvista y realiza el desplazamiento en sí. Las subclases pueden anular el touchesShouldBegin: withEvent: inContentView :, pagingEnabled y touchesShouldCancelInContentView: methods (que se llaman mediante la vista de desplazamiento ) para afectar la forma en que la vista de desplazamiento maneja los gestos de desplazamiento.

Así que creo que no hay una manera fácil de hacerlo. Probablemente tenga que volver a implementar todo el sistema del temporizador en esos métodos.

0

me encontré con este problema y esta es mi solución:

Subclase UIScrolView

Agregar anular estos métodos:

- (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; 
} 
Cuestiones relacionadas