2010-06-20 19 views

risposta

3

Il dottore dice

Se l'utente trascina poi il dito abbastanza lontano prima che il timer trascorso, la vista di scorrimento cancella ogni tracciamento nella visualizzazione secondaria e esegue lo scorrimento stesso. Le sottoclassi possono ignorare i tocchi di ShouldBegin: withEvent: inContentView :, pagingEnabled e toccaShouldCancelInContentView: metodi (che vengono chiamati dalla vista di scorrimento ) per influire sul modo in cui la vista di scorrimento gestisce i movimenti di scorrimento.

Quindi penso che non ci sia un modo semplice per farlo. Probabilmente devi reimplementare l'intero sistema di timer con questi metodi.

0

Ho appena imbattuto in questo problema e questa è la mia soluzione:

sottoclasse UIScrolView

Aggiungere sovrascrivere questi metodi:

- (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; 
} 
Problemi correlati