From 9574c374792d98a45370cc19ae567361faba13ff Mon Sep 17 00:00:00 2001 From: jonkykong Date: Wed, 20 Sep 2017 22:48:14 -0700 Subject: [PATCH] Refactor. --- Pod/Classes/SideMenuTransition.swift | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Pod/Classes/SideMenuTransition.swift b/Pod/Classes/SideMenuTransition.swift index 172dc99..5c84972 100644 --- a/Pod/Classes/SideMenuTransition.swift +++ b/Pod/Classes/SideMenuTransition.swift @@ -14,7 +14,13 @@ open class SideMenuTransition: UIPercentDrivenInteractiveTransition { fileprivate var interactive = false fileprivate static weak var originalSuperview: UIView? fileprivate static weak var activeGesture: UIGestureRecognizer? - fileprivate static var switchMenus = false + fileprivate static var switchMenus = false { + didSet { + if switchMenus { + singleton.cancel() + } + } + } internal static let singleton = SideMenuTransition() internal static var presentDirection: UIRectEdge = .left @@ -148,11 +154,9 @@ open class SideMenuTransition: UIPercentDrivenInteractiveTransition { } else if distance > 0 && SideMenuTransition.presentDirection == .right && SideMenuManager.menuLeftNavigationController != nil { SideMenuTransition.presentDirection = .left switchMenus = true - singleton.cancel() } else if distance < 0 && SideMenuTransition.presentDirection == .left && SideMenuManager.menuRightNavigationController != nil { SideMenuTransition.presentDirection = .right switchMenus = true - singleton.cancel() } else { singleton.update(min(distance * direction, 1)) }