2017-08-29 12 views
0

スウィフトのナビゲーションバーにメニューを作成するのにENSideMenu Libraryを使用しています。私はすでにナビゲーションバーの左側のメニューを作成しましたが、右側のメニューを作成しました。右のメニューを表示するためのアクションを含む右側のボタンをクリックすると、左側のメニューが代わりに表示されます。ここに私の現在の実装があります。スウィフトで右サイドメニューをクリックすると左サイドメニューが開きます

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) 

} 

RightSideNavigationController 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

に投稿された問題に基づいていますか? – 3stud1ant3

+0

@ 3stud1ant3はい、私はメニューの位置を変更できることを知っています。しかし、私の問題は2つのメニューがあり、1つのメニューしか表示されないことです。それにかかわらず、右または左のメニューをクリックした場合。 – KaelJasper

+0

右バーボタンのbtnアクションのコードを表示できますか? – 3stud1ant3

答えて

0

ENSideMenuライブラリは現在、同じページにライブラリを使用して2つのメニューをサポートしていません。これは、サブナビゲーションコントローラの位置をENSideMenuPosition.rightに変更してから、それが正しいかどうかを確認するだけで、ENSideMenu Library GitHub

関連する問題