2010-06-20 7 views

Antwort

3

Der Doc sagt

Wenn der Benutzer dann ihre Finger zieht weit genug, bevor der Timer abgelaufen ist , bricht die Bildlaufansicht jede Verfolgung in der Subview und führt die selbst scrollen. Unterklassen können touchesShouldBegin: withEvent: inContentView :, pagingEnabled und touchesShouldCancelInContentView: methods (die von der Scroll-Ansicht aufgerufen werden) außer Kraft setzen, um zu beeinflussen, wie die Bildlaufansicht Scroll-Gesten behandelt.

Also ich denke, es gibt keinen einfachen Weg, es zu tun. Sie müssen wahrscheinlich das gesamte Timer-System in diesen Methoden neu implementieren.

0

Ich kam gerade über dieses Problem und das ist meine Lösung:

Subclass UIScrolView

Fügen Sie diese Methoden überschreiben:

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