@@ -8,38 +8,42 @@ import UIKit
88import SideMenu
99
1010class ViewController : UIViewController {
11+
1112 fileprivate var selectedIndex = 0
1213 fileprivate var transitionPoint : CGPoint !
1314 fileprivate var contentType : ContentType = . Music
1415 fileprivate var navigator : UINavigationController !
16+
1517 lazy fileprivate var menuAnimator : MenuTransitionAnimator ! = MenuTransitionAnimator ( mode: . presentation, shouldPassEventsOutsideMenu: false ) { [ unowned self] in
1618 self . dismiss ( animated: true , completion: nil )
1719 }
20+
1821 override func prepare( for segue: UIStoryboardSegue , sender: Any ? ) {
1922 switch ( segue. identifier, segue. destination) {
20- case ( . some( " presentMenu " ) , let menu as MenuViewController ) :
21- menu. selectedItem = selectedIndex
22- menu. delegate = self
23- menu. transitioningDelegate = self
24- menu. modalPresentationStyle = . custom
25- case ( . some( " embedNavigator " ) , let navigator as UINavigationController ) :
26- self . navigator = navigator
27- self . navigator. delegate = self
28- default :
29- super. prepare ( for: segue, sender: sender)
23+ case ( . some( " presentMenu " ) , let menu as MenuViewController ) :
24+ menu. selectedItem = selectedIndex
25+ menu. delegate = self
26+ menu. transitioningDelegate = self
27+ menu. modalPresentationStyle = . custom
28+ case ( . some( " embedNavigator " ) , let navigator as UINavigationController ) :
29+ self . navigator = navigator
30+ self . navigator. delegate = self
31+ default :
32+ super. prepare ( for: segue, sender: sender)
3033 }
3134 }
3235}
3336
3437extension ViewController : MenuViewControllerDelegate {
35- func menu( _: MenuViewController , didSelectItemAtIndex index: Int , atPoint point: CGPoint ) {
38+
39+ func menu( _: MenuViewController , didSelectItemAt index: Int , at point: CGPoint ) {
3640 contentType = !contentType
3741 transitionPoint = point
3842 selectedIndex = index
3943
4044 let content = storyboard!. instantiateViewController ( withIdentifier: " Content " ) as! ContentViewController
4145 content. type = contentType
42- self . navigator. setViewControllers ( [ content] , animated: true )
46+ navigator. setViewControllers ( [ content] , animated: true )
4347
4448 DispatchQueue . main. async {
4549 self . dismiss ( animated: true , completion: nil )
@@ -52,6 +56,7 @@ extension ViewController: MenuViewControllerDelegate {
5256}
5357
5458extension ViewController : UINavigationControllerDelegate {
59+
5560 func navigationController( _: UINavigationController , animationControllerFor _: UINavigationControllerOperation ,
5661 from _: UIViewController , to _: UIViewController ) -> UIViewControllerAnimatedTransitioning ? {
5762
@@ -63,6 +68,7 @@ extension ViewController: UINavigationControllerDelegate {
6368}
6469
6570extension ViewController : UIViewControllerTransitioningDelegate {
71+
6672 func animationController( forPresented presented: UIViewController , presenting _: UIViewController ,
6773 source _: UIViewController ) -> UIViewControllerAnimatedTransitioning ? {
6874 return menuAnimator
@@ -71,5 +77,4 @@ extension ViewController: UIViewControllerTransitioningDelegate {
7177 func animationController( forDismissed dismissed: UIViewController ) -> UIViewControllerAnimatedTransitioning ? {
7278 return MenuTransitionAnimator ( mode: . dismissal)
7379 }
74-
7580}
0 commit comments