From 8789187aacfbe754523d00fad1adb3bb0c82a88f Mon Sep 17 00:00:00 2001 From: Gunay Mert Karadogan Date: Fri, 10 Jul 2015 12:42:48 +0200 Subject: [PATCH] Add autorepeat for pan gesture --- GMStepper/GMStepper.swift | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/GMStepper/GMStepper.swift b/GMStepper/GMStepper.swift index e7e324b..5b63e4c 100644 --- a/GMStepper/GMStepper.swift +++ b/GMStepper/GMStepper.swift @@ -261,6 +261,7 @@ import UIKit // Increase only once for each pan gesture if panState != .HitRightEdge { value += 1 + scheduleTimerWithUserInfo(rightButton) panState = .HitRightEdge } @@ -271,6 +272,7 @@ import UIKit if panState != .HitLeftEdge { value -= 1 + scheduleTimerWithUserInfo(leftButton) panState = .HitLeftEdge } @@ -278,8 +280,7 @@ import UIKit animateLimitHitForButton(leftButton) } } else { - leftButton.backgroundColor = buttonsBackgroundColor - rightButton.backgroundColor = buttonsBackgroundColor + reset() } case .Ended: @@ -291,6 +292,7 @@ import UIKit private func reset() { panState = .Stale + resetTimer() UIView.animateWithDuration(self.labelSlideDuration, animations: { self.label.center = self.labelOriginalCenter @@ -368,6 +370,7 @@ extension GMStepper { } +// MARK: Timer extension GMStepper { func handleTimerFire(timer: NSTimer) { timerFireCount += 1 @@ -380,7 +383,6 @@ extension GMStepper { value += 1 } } -// printTimerGaps() } } @@ -388,7 +390,7 @@ extension GMStepper { timer = NSTimer.scheduledTimerWithTimeInterval(timerInterval, target: self, selector: "handleTimerFire:", userInfo: userInfo, repeats: true) } - func stopTimer() { + func resetTimer() { if let timer = timer { timer.invalidate() self.timer = nil