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)
}
si vous venez de changer la position du contrôleur de sidenavigation à ENSideMenuPosition.right et puis voyez-vous cela vient de droite? – 3stud1ant3
@ 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
Pouvez-vous montrer le code de l'action btn pour votre bouton de droite? – 3stud1ant3