@@ -264,6 +264,8 @@ import UIKit
264 backgroundColor = buttonsBackgroundColor
264 backgroundColor = buttonsBackgroundColor
265 layer.cornerRadius = cornerRadius
265 layer.cornerRadius = cornerRadius
266 clipsToBounds = true
266 clipsToBounds = true
268+ NSNotificationCenter.defaultCenter().addObserver(self, selector: "reset", name: UIApplicationWillResignActiveNotification, object: nil)
269 public override func layoutSubviews() {
271 public override func layoutSubviews() {
@@ -286,15 +288,20 @@ import UIKit
286 value -= stepValue
288 value -= stepValue
294+ NSNotificationCenter.defaultCenter().removeObserver(self)
291// MARK: Pan Gesture
298// MARK: Pan Gesture
292extension GMStepper {
299extension GMStepper {
293 func handlePan(gesture: UIPanGestureRecognizer) {
300 func handlePan(gesture: UIPanGestureRecognizer) {
294− leftButton.enabled = false
295− rightButton.enabled = false
297 switch gesture.state {
301 switch gesture.state {
303+ leftButton.enabled = false
304+ rightButton.enabled = false
298 case .Changed:
305 case .Changed:
299 var translation = gesture.translationInView(label)
306 var translation = gesture.translationInView(label)
300 gesture.setTranslation(CGPointZero, inView: label)
307 gesture.setTranslation(CGPointZero, inView: label)
@@ -333,8 +340,7 @@ extension GMStepper {
333 self.rightButton.backgroundColor = self.buttonsBackgroundColor
340 self.rightButton.backgroundColor = self.buttonsBackgroundColor
334 self.leftButton.backgroundColor = self.buttonsBackgroundColor
341 self.leftButton.backgroundColor = self.buttonsBackgroundColor
337− case .Ended:
343+ case .Ended, .Cancelled, .Failed:
@@ -345,8 +351,10 @@ extension GMStepper {
345 panState = .Stable
351 panState = .Stable
346 stepperState = .Stable
352 stepperState = .Stable
347 resetTimer()
353 resetTimer()
348 leftButton.enabled = true
355 leftButton.enabled = true
349 rightButton.enabled = true
356 rightButton.enabled = true
357+ label.userInteractionEnabled = true
351 UIView.animateWithDuration(self.labelSlideDuration, animations: {
359 UIView.animateWithDuration(self.labelSlideDuration, animations: {
352 self.label.center = self.labelOriginalCenter
360 self.label.center = self.labelOriginalCenter
@@ -387,7 +395,6 @@ extension GMStepper {
388 func buttonTouchUp(button: UIButton) {
396 func buttonTouchUp(button: UIButton) {
390− label.userInteractionEnabled = true