diff --git a/Example/SwiftSideMenu/MyNavigationController.swift b/Example/SwiftSideMenu/MyNavigationController.swift index a3ef5fc..9653630 100644 --- a/Example/SwiftSideMenu/MyNavigationController.swift +++ b/Example/SwiftSideMenu/MyNavigationController.swift @@ -54,4 +54,8 @@ extension MyNavigationController: ENSideMenuDelegate { func sideMenuShouldOpenSideMenu() -> Bool { return true } + + func sideMenuIsAnimating() { + print("sideMenuIsAnimating") + } } diff --git a/Example/SwiftSideMenu/ViewController.swift b/Example/SwiftSideMenu/ViewController.swift index 54c9ab3..61522f1 100644 --- a/Example/SwiftSideMenu/ViewController.swift +++ b/Example/SwiftSideMenu/ViewController.swift @@ -46,5 +46,9 @@ class ViewController: UIViewController, ENSideMenuDelegate { func sideMenuDidOpen() { print("sideMenuDidOpen") } + + func sideMenuIsAnimating() { + print("sideMenuIsAnimating") + } } diff --git a/Example/SwiftSideMenu/ViewController2.swift b/Example/SwiftSideMenu/ViewController2.swift index ac12d42..c6bb30f 100644 --- a/Example/SwiftSideMenu/ViewController2.swift +++ b/Example/SwiftSideMenu/ViewController2.swift @@ -37,4 +37,7 @@ class ViewController2: UIViewController, ENSideMenuDelegate { return true } + func sideMenuIsAnimating() { + print("sideMenuIsAnimating") + } } diff --git a/Library/ENSideMenu.swift b/Library/ENSideMenu.swift index 8db47f6..969c6aa 100644 --- a/Library/ENSideMenu.swift +++ b/Library/ENSideMenu.swift @@ -14,6 +14,7 @@ public protocol ENSideMenuDelegate: class { func sideMenuShouldOpenSideMenu () -> Bool func sideMenuDidOpen() func sideMenuDidClose() + func sideMenuIsAnimating() } public protocol ENSideMenuProtocol: class { @@ -143,13 +144,21 @@ open class ENSideMenu : NSObject, UIGestureRecognizerDelegate { fileprivate var needUpdateApperance : Bool = false /// The delegate of the side menu open weak var delegate : ENSideMenuDelegate? - fileprivate(set) var isMenuOpen : Bool = false + fileprivate(set) open var isMenuOpen : Bool = false /// A Boolean value indicating whether the left swipe is enabled. open var allowLeftSwipe : Bool = true /// A Boolean value indicating whether the right swipe is enabled. open var allowRightSwipe : Bool = true open var allowPanGesture : Bool = true fileprivate var panRecognizer : UIPanGestureRecognizer? + open var isHidden: Bool { + get { + return sideMenuContainerView.isHidden + } + set { + sideMenuContainerView.isHidden = newValue + } + } /** Initializes an instance of a `ENSideMenu` object. @@ -334,6 +343,7 @@ open class ENSideMenu : NSObject, UIGestureRecognizerDelegate { withDuration: animationDuration, animations: { [weak self] () -> Void in self?.sideMenuContainerView.frame = destFrame + self?.delegate?.sideMenuIsAnimating() }, completion: { [weak self] (Bool) -> Void in guard let strongSelf = self else { return }