Commit a675ae4f by Daniel Dahan

development: updated completion block for open/close in MenuController

parent bb5ba02b
...@@ -58,18 +58,21 @@ open class MenuController: RootController { ...@@ -58,18 +58,21 @@ open class MenuController: RootController {
- Parameter completion: An Optional callback that is executed when - Parameter completion: An Optional callback that is executed when
all menu items have been opened. all menu items have been opened.
*/ */
open func openMenu(completion: (() -> Void)? = nil) { open func openMenu(completion: ((UIView) -> Void)? = nil) {
if true == isUserInteractionEnabled { if true == isUserInteractionEnabled {
isUserInteractionEnabled = false isUserInteractionEnabled = false
rootViewController.view.alpha = 0.5 UIView.animate(withDuration: 0.15, animations: { [weak self] in
guard let s = self else {
return
}
s.rootViewController.view.alpha = 0.25
})
menu.open { [weak self] (view) in menu.open { [weak self] (view) in
guard let s = self else { guard let s = self else {
return return
} }
if view == s.menu.views.last { completion?(view)
completion?()
}
} }
} }
} }
...@@ -79,17 +82,23 @@ open class MenuController: RootController { ...@@ -79,17 +82,23 @@ open class MenuController: RootController {
- Parameter completion: An Optional callback that is executed when - Parameter completion: An Optional callback that is executed when
all menu items have been closed. all menu items have been closed.
*/ */
open func closeMenu(completion: (() -> Void)? = nil) { open func closeMenu(completion: ((UIView) -> Void)? = nil) {
if false == isUserInteractionEnabled { if false == isUserInteractionEnabled {
rootViewController.view.alpha = 1 UIView.animate(withDuration: 0.15, animations: { [weak self] in
guard let s = self else {
return
}
s.rootViewController.view.alpha = 1
})
menu.close { [weak self] (view) in menu.close { [weak self] (view) in
guard let s = self else { guard let s = self else {
return return
} }
completion?(view)
if view == s.menu.views.last { if view == s.menu.views.last {
s.isUserInteractionEnabled = true s.isUserInteractionEnabled = true
completion?()
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment