Selaa lähdekoodia

snap scrubbing marker to playback marker if scrubbing position is near to playback position

Tobias Conradi 9 vuotta sitten
vanhempi
commit
b4b8703cc6
1 muutettua tiedostoa jossa 16 lisäystä ja 3 poistoa
  1. 16 3
      VLC for Apple TV/Playback/VLCFullscreenMovieTVViewController.m

+ 16 - 3
VLC for Apple TV/Playback/VLCFullscreenMovieTVViewController.m

@@ -172,11 +172,24 @@
 
     const CGFloat scaleFactor = 8.0;
     CGFloat fractionInView = translation.x/CGRectGetWidth(view.bounds)/scaleFactor;
-    translation.x = 0.0;
-    [panGestureRecognizer setTranslation:translation inView:view];
 
     CGFloat scrubbingFraction = MAX(0.0, MIN(bar.scrubbingFraction + fractionInView,1.0));
-    bar.scrubbingFraction = scrubbingFraction;
+
+
+    if (ABS(scrubbingFraction - bar.playbackFraction)<0.01) {
+        scrubbingFraction = bar.playbackFraction;
+    } else {
+        translation.x = 0.0;
+        [panGestureRecognizer setTranslation:translation inView:view];
+    }
+
+    [UIView animateWithDuration:0.3
+                          delay:0.0
+                        options:UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionBeginFromCurrentState
+                     animations:^{
+                         bar.scrubbingFraction = scrubbingFraction;
+                     }
+                     completion:nil];
     [self updateTimeLabelsForScrubbingFraction:scrubbingFraction];
 }