2017-08-29 4 views
0

J'utilise ENSideMenu Library pour créer les menus dans ma barre de navigation dans Swift. J'ai déjà créé le menu de gauche de la barre de navigation, mais quand j'ai créé le côté droit. Qu'est-ce qui se passe est, quand je clique sur le bouton de droite qui contient l'action pour montrer le bon menu ... le menu de gauche est montré à la place. Voici ma mise en œuvre actuelle.Le menu latéral gauche s'ouvre lorsque le menu latéral droit est cliqué dans Swift

RightSideNavigationController

override func viewDidLoad() { 

    let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    let menu = storyboard.instantiateViewController(withIdentifier: "RightMenuTableViewController") as! RightMenuTableViewController 

    sideMenu = ENSideMenu(sourceView: self.view, menuViewController: menu, menuPosition: ENSideMenuPosition.right) 
    sideMenu?.menuWidth = 200 
    view.bringSubview(toFront: navigationBar) 
} 

RightMenuTableViewController

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 

    let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    var destView: UIViewController! 
    if indexPath.row == 0 { 
     destView = storyboard.instantiateViewController(withIdentifier: "ViewController") as! ViewController 
    } else { 
      destView = storyboard.instantiateViewController(withIdentifier: "ViewController") as! ViewController 

    } 
    sideMenuController()?.setContentViewController(destView) 

} 

SideNavigationController

override func viewDidLoad() { 

    let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    let menu = storyboard.instantiateViewController(withIdentifier: "MenuTableViewController") as! MenuTableViewController 
    sideMenu = ENSideMenu(sourceView: self.view, menuViewController: menu, menuPosition: ENSideMenuPosition.left) 
    sideMenu?.menuWidth = 200 
    view.bringSubview(toFront: navigationBar) 
} 

MenuTableViewController

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 

    let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    var destinationViewController: UIViewController! 



    if indexPath.section == 0{ 
     if indexPath.row == 0 { 
      destinationViewController = storyboard.instantiateViewController(withIdentifier: "TopViewController") as! TopViewController 
     } else if indexPath.row == 1 { 
       destinationViewController = storyboard.instantiateViewController(withIdentifier: "MemberListViewController") as! MemberListViewController 
     } 
    }else { 
     if indexPath.row == 0 { 
      destinationViewController = storyboard.instantiateViewController(withIdentifier: "MemberRegisterViewController") as! MemberRegisterViewController 

     } else if indexPath.row == 3 { 
       destinationViewController = storyboard.instantiateViewController(withIdentifier: "UserRegistrationViewController") as! UserRegistrationViewController 
     } 

    } 
    sideMenuController()?.setContentViewController(destinationViewController) 

} 
+0

si vous venez de changer la position du contrôleur de sidenavigation à ENSideMenuPosition.right et puis voyez-vous cela vient de droite? – 3stud1ant3

+0

@ 3stud1ant3 oui, je suis conscient que je peux changer la position des menus. Mais, mon problème est quand j'ai deux menus, un seul menu apparaît. Peu importe, si je clique sur le menu de droite ou de gauche. – KaelJasper

+0

Pouvez-vous montrer le code de l'action btn pour votre bouton de droite? – 3stud1ant3

Répondre

0

La ENSideMenu Library ne prend pas en charge 2 menus qui utilise la bibliothèque dans la même page. Ceci est en fonction des problèmes affichés dans ENSideMenu Library GitHub